繁体   English   中英

如何在Python中用“”替换字符串中的所有标点符号?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM