我想从字符串中删除列表中的所有字符。
例如:
to_delete = ["w","r"]
word = "word"
word.replace(to_delete,'')
>> od
什么是最好/最快的解决方案?可能没有循环吗?
预先感谢
答案 0 :(得分:2)
使用str.translate
。
>>> word = "word"
>>> to_delete = ["w","r"]
>>>
>>> trans = str.maketrans(dict.fromkeys(to_delete))
>>> word.translate(trans)
'od'
答案 1 :(得分:2)
我建议使用正则表达式:
import re
word = "word"
to_delete = ['w', 'r']
re.sub(f"[{''.join({re.escape(i) for i in to_delete})}]", '', word)
这会将您的字符替换为要替换的正则表达式设置模式,将单词作为输入,然后用空字符串替换这些字符。