Python:除去空格和字母数字之外的所有内容

2024-05-15 23:21:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带括号和逗号之类的大字符串。我想去掉所有这些字符,但要保持间距。我怎么能这么做。从现在起我用

strippedList = re.sub(r'\W+', '', origList)

Tags: 字符串re字符括号逗号间距strippedlistoriglist
3条回答

基于正则表达式的版本可能更快(特别是当您切换到使用编译的表达式时),但为了清楚起见,我喜欢这样:

"".join([c for c in origList if c in string.letters or c in string.whitespace])

使用join()调用有点奇怪,但我认为这是将字符列表转换为字符串的非常习惯的Python。

re.sub(r'([^\s\w]|_)+', '', origList)

更快的实现:

import re

pattern = re.compile('([^\s\w]|_)+')
strippedList = pattern.sub('', value)

相关问题 更多 >