用python删除字符串中的字符

时间:2018-12-03 14:30:49

标签: python string

我想从字符串中删除列表中的所有字符。

例如:

to_delete = ["w","r"]
word = "word"

word.replace(to_delete,'')

>> od

什么是最好/最快的解决方案?可能没有循环吗?

预先感谢

2 个答案:

答案 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)

这会将您的字符替换为要替换的正则表达式设置模式,将单词作为输入,然后用空字符串替换这些字符。