Python .replace仅替换列表中的最后一个字符
我想删除列表中的所有黑名单字符并替换为,但是当代码运行时,在print语句中只替换最后的“黑名单字符” 我想知道如何才能使所有字符都被替换,并且只打印“示例”尝试以下方法:Python .replace仅替换列表中的最后一个字符,python,string,replace,Python,String,Replace,我想删除列表中的所有黑名单字符并替换为,但是当代码运行时,在print语句中只替换最后的“黑名单字符” 我想知道如何才能使所有字符都被替换,并且只打印“示例”尝试以下方法: title = 'Example#@@@+||' blacklisted_chars = ['#','|','@','+'] for i in blacklisted_chars: convert = title.replace(i, '') print(convert) # Example#@@@|
title = 'Example#@@@+||'
blacklisted_chars = ['#','|','@','+']
for i in blacklisted_chars:
convert = title.replace(i, '')
print(convert)
# Example#@@@||
说明:由于您将title.replace的结果存储在convert变量中,因此每次迭代都会覆盖它。您需要将replace应用于上一次迭代的结果,该结果可以是具有原始字符串的变量,也可以是包含原始字符串副本的另一个变量(如果希望保持原始值不变)
注意:字符串是可编辑的,因此您也可以通过以下方式获得相同的结果:
title = 'Example#@@@+||'
blacklisted_chars = ['#','|','@','+']
for i in blacklisted_chars:
title = title.replace(i, '')
print(title)
试试这个:
title = 'Example#@@@+||'
blacklisted_chars = ['#','|','@','+']
for i in blacklisted_chars:
convert = title.replace(i, '')
print(convert)
# Example#@@@||
说明:由于您将title.replace的结果存储在convert变量中,因此每次迭代都会覆盖它。您需要将replace应用于上一次迭代的结果,该结果可以是具有原始字符串的变量,也可以是包含原始字符串副本的另一个变量(如果希望保持原始值不变)
注意:字符串是可编辑的,因此您也可以通过以下方式获得相同的结果:
title = 'Example#@@@+||'
blacklisted_chars = ['#','|','@','+']
for i in blacklisted_chars:
title = title.replace(i, '')
print(title)
字符串在python中是不可变的。将新字符串指定为
blacklisted_chars = '#|@+'
此声明后标题保持不变。convert是一个全新的字符串,它缺少i
在下一次迭代中,您将替换不同的i值,但仍然与原始标题不同。所以最后看起来你只是跑了
convert = title.replace(i, '')
您有两个非常相似的选项,这取决于您是否希望保留原始标题
如果这样做,请对其进行另一次引用,并使用结果不断更新该引用,以便每个后续迭代都建立在先前删除的结果的基础上:
convert = title.replace('+', '')
如果您不想保留原始标题,请直接使用该名称:
convert = title
for i in blacklisted_chars:
convert = convert.replace(i, '')
print(convert)
您可以使用以下方法实现类似的结果,而无需显式循环:
字符串在python中是不可变的。将新字符串指定为
blacklisted_chars = '#|@+'
此声明后标题保持不变。convert是一个全新的字符串,它缺少i
在下一次迭代中,您将替换不同的i值,但仍然与原始标题不同。所以最后看起来你只是跑了
convert = title.replace(i, '')
您有两个非常相似的选项,这取决于您是否希望保留原始标题
如果这样做,请对其进行另一次引用,并使用结果不断更新该引用,以便每个后续迭代都建立在先前删除的结果的基础上:
convert = title.replace('+', '')
如果您不想保留原始标题,请直接使用该名称:
convert = title
for i in blacklisted_chars:
convert = convert.replace(i, '')
print(convert)
您可以使用以下方法实现类似的结果,而无需显式循环:
在循环中,将结果保存为convert。每个循环都要替换convert的值。这是否回答了您的问题?在循环中,将结果保存为convert。每个循环都要替换convert的值。这是否回答了您的问题?更新做得很好。当你解释正在发生的事情时会更好。更新做得很好。当你解释发生的事情时会好得多。