在Python中替换字符串中的多个匹配项

时间:2013-02-28 00:36:15

标签: python string replace symbols

我想用空字符串替换以下字符串。

我无法输入我的输入,出于某种原因,这些符号在这里被忽略。请看下面的图片。我的代码会产生奇怪的结果。请帮助我。

#expected output is "A B C D E"

string = "A<font color=#00FF00> B<font color=#00FFFF> C<font color="#00ff00"> D<font color="#ff0000"> E<i>"

lst = ['<i>','<font color=#00FF00>','<font color=#00FFFF>','<font color="#00ff00">','<font color="#ff0000">']

for el in lst:
    string.replace(el,"")
print string

2 个答案:

答案 0 :(得分:2)

在python中,字符串是不可变的,即对字符串执行任何操作总是返回一个新的字符串对象,并保持原始字符串对象不变。

示例:

In [57]: strs="A*B#C$D"

In [58]: lst=['*','#','$']

In [59]: for el in lst:
   ....:     strs=strs.replace(el,"")  # replace the original string with the
                                       # the new string

In [60]: strs
Out[60]: 'ABCD'

答案 1 :(得分:0)

>>> import string
>>> s="A*B#C$D"
>>> a = string.maketrans("", "")
>>> s.translate(a, "*#$")
'ABCD'