我可以在单个字符串中轻松使用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)"]
如何从列表中的字符串中删除表达式?
答案 0 :(得分:1)
>>> a = ["abcd:+;", "(l&'kka)"]
>>> a = [re.sub('[\(\)&\':+]', '', x) for x in a]
>>> a
['abcd;', 'lkka']
>>>
答案 1 :(得分:0)
for index,x in enumerate(a):
a[index] = re.sub('[\(\)&\':+]', '', x)
您更改了值但未更新列表。 enumerate是为列表
的每个项返回元组(index,value)
的函数