Python正则表达式:替换列表中的字符串

Python正则表达式:替换列表中的字符串,python,arrays,regex,list,Python,Arrays,Regex,List,从中获得的最佳方式是什么: ['\n 62\n ', '\n 178\n ', '\n 7,800\n '] …用Python来处理这个问题 ['62', '178', '7,800'] 我试图从字符串中删除所有非字母数字字符,如下所示 import re re.sub(r'\W+', '', my_string) …但是使用列表/数组。这就是它的用途!str.strip返回删除前导和尾随字符的字符串副本。chars参数是一个字符串,指定要删除的字符集。

从中获得的最佳方式是什么:

['\n    62\n    ', '\n    178\n    ', '\n    7,800\n    ']
…用Python来处理这个问题

['62', '178', '7,800']
我试图从字符串中删除所有非字母数字字符,如下所示

import re
re.sub(r'\W+', '', my_string)
…但是使用列表/数组。

这就是它的用途!str.strip返回删除前导和尾随字符的字符串副本。chars参数是一个字符串,指定要删除的字符集。如果省略或无,chars参数默认为删除空白


如果您想在iterable的每个成员上运行一个函数,比如列表,可以通过三种方式来实现:显式语句、函数调用或函数调用

一种理解是这样的:

my_new_strings = [re.sub(r'\W+', '', my_string) for my_string in my_strings]
但是,即使您阅读了上面的教程部分,这可能也没有意义,除非您首先考虑如何使用显式循环编写它:

my_new_strings = []
for my_string in my_strings:
    my_new_string.append(re.sub(r'\W', '', my_string))

理解基本上就是这种模式的浓缩。它们很好,因为它们消除了一些阻碍代码读取的样板,并且在编写代码时提供了更多的出错地方,可以在表达式的中间使用,并且速度更快。但最终,他们会做同样的事情。

@Eric:谢谢。我想这一定是个骗局,但我找不到一个对这篇文章有意义的好答案的问题;“那个很完美。@请告诉社区和我你投反对票的原因,以改进我的答案!为什么这一点被否决了?它很好用。@Octosquidsopus像你一样我很惊讶等待理由@章鱼乌贼我想这是对你问题的蟒蛇回答!所以,如果你觉得这个问题有帮助,你可以告诉社区投票或接受答案!
>>> x=['\n    62\n    ', '\n    178\n    ', '\n    7,800\n    ']
>>> [re.sub('\W+','',i) for i in x ]
['62', '178', '7800']
>>> x=['\n    62\n    ', '\n    178\n    ', '\n    7,800\n    ']
>>> [re.sub('\W+','',i) for i in x ]
['62', '178', '7800']