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

时间:2009-10-09 19:32:20

标签: python regex

如果我的字符串是:

Business -- way's

我想把它变成:

Business  ways

即。将NON abc / 123替换为“”

3 个答案:

答案 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]的第一个答案回答了你更明确地解释的内容。这更像是对如何处理问题的解释。