如果我的字符串是:
Business -- way's
我想把它变成:
Business ways
即。将NON abc / 123替换为“”
答案 0 :(得分:15)
简单的正则表达式:
import re
>>> s = "Business -- way's"
>>> s = re.sub(r'[^\w\s]', '', s)
>>> s
"Business ways"
答案 1 :(得分:6)
或者,如果您由于某种原因不想使用正则表达式:
''.join([x for x in foo if x.isalpha() or x.isspace()])
答案 2 :(得分:-3)
(正则表达式)替换
[[:punct:]]
with''(如果Python支持)。
[]是一个字符类,[::]是posix类语法。 [:punct:]是标点符号,因此所有标点符号的字符类都是[[:punct:]]
同样的事情的另一种方式是\ p和朋友: \ p {ispunct判断}
在http://perldoc.perl.org/perlre.html中查看下面的“字符类和其他特殊转义”(是的,我知道它是一个Perl文档,但这更多是关于正则表达式而不是Perl)。
话虽这么说,[^ \ w \ s]的第一个答案回答了你更明确地解释的内容。这更像是对如何处理问题的解释。