[英]How do I replace all punctuation in my string with “” in Python?
如果我的字符串是:
Business -- way's
我想把它变成:
Business ways
即。 将NON abc / 123替换为“”
简单的正则表达式:
import re
>>> s = "Business -- way's"
>>> s = re.sub(r'[^\w\s]', '', s)
>>> s
"Business ways"
或者,如果由于某些原因不想使用正则表达式:
''.join([x for x in foo if x.isalpha() or x.isspace()])
(正则表达式)替换
[[:punct:]]
与''(如果Python支持)。
[]是字符类,[::]是posix类语法。 [:punct:]是标点符号,因此所有标点符号的字符类为[[:punct:]]
\\ p和朋友:\\ p {IsPunct}
请参见http://perldoc.perl.org/perlre.html中“字符类和其他特殊转义符”的下面(是的,我知道这是一个Perl文档,但是比起Perl,它更多地是关于正则表达式的)。
话虽这么说,第一个答案为[^ \\ w \\ s]会回答您更明确地解释的内容。 这仅仅是对您所提出问题的处理方式的解释。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.