首页 > 解决方案 > 如何从字符串中替换字符列表

问题描述

我有一个搜索字符串如果搜索中的字符匹配,则替换为 None

sear = '!%'
special_characters = ['!', '"', '#', '$', '%','(',')']
for remove_char in special_characters:
   search_value = re.sub(remove_char, '', sear)

我的输出出错了

预期结果为无

sear = 'ABC!%DEF'
Expected is 'ABCDEF'
sear = 'ABC,DEF'
Expected is 'ABC,DEF'

标签: python

解决方案


只需做一个列表理解和''.join

sear = '!%'
special_characters = ['!', '"', '#', '$', '%']
sear = ''.join([i for i in sear if i not in special_characters])
print(sear)

这段代码逐个字符迭代字符串,看看这个字符是否不在special_characters列表中,如果不在,则保留,如果是,则删除,但这只给了我们一个字符串列表,所以我们需要''.join更改它成一个字符串。


推荐阅读