Python 在列表的字符串中替换
我可以在单个字符串中轻松使用Python 在列表的字符串中替换,python,string,Python,String,我可以在单个字符串中轻松使用re.sub,如下所示: >>> a = "ajhga':&+?%" >>> a = re.sub('[.!,;+?&:%]', '', a) >>> a "ajhga'" 如果我在字符串列表中使用这个,那么我就不会得到结果。我正在做的是: >>> a = ["abcd:+;", "(l&'kka)"] >>> for x
re.sub
,如下所示:
>>> a = "ajhga':&+?%"
>>> a = re.sub('[.!,;+?&:%]', '', a)
>>> a
"ajhga'"
如果我在字符串列表中使用这个,那么我就不会得到结果。我正在做的是:
>>> a = ["abcd:+;", "(l&'kka)"]
>>> for x in a:
... x = re.sub('[\(\)&\':+]', '', x)
...
>>> a
['abcd:+;', "(l&'kka)"]
如何从列表中的字符串中删除表达式
for index,x in enumerate(a):
a[index] = re.sub('[\(\)&\':+]', '', x)
您正在更改值,但不更新列表。枚举是一个函数,它返回每个列表项中的元组<代码>(index,value)< /> >,取决于你想要的结果字符串是什么,你可以考虑相反的方法来指示你想要保留什么(白名单)并剔除所有其他字符。这可以通过列表理解轻松完成,而不是
re
。
>>> a = ["abcd:+;", "(l&'kka)"]
>>> a = [re.sub('[\(\)&\':+]', '', x) for x in a]
>>> a
['abcd;', 'lkka']
>>>