替换列表的字符串

时间:2014-06-19 15:27:20

标签: python string

我可以在单个字符串中轻松使用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)"]

如何从列表中的字符串中删除表达式?

2 个答案:

答案 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)的函数