特定标点符号剥离Python

时间:2014-01-21 03:51:00

标签: python regex punctuation stripping

现在,我知道有关标点符号剥离已经回答的大约一千个问题。然而,我的看法与我看过的有点不同。

我需要一个代码来删除所有标点符号,EXCEPT连字符和单个撇号。

到目前为止我找到的代码是:

import re
def textStrip():
    text = input("Text? ")
    return re.compile('\w+').findall(text)

这对于剥离所有标点符号非常有用,现在我想知道是否有办法为此添加例外?或者,如果某人有更好的方式,这将有很大帮助。谢谢!

样品:

"A tall-ish wall, with trim.I don't want to paint it;"

会回来:

["A", "tall-ish", "wall", "with", "trim", "I", "don't", "want", "to", "paint", "it"]

1 个答案:

答案 0 :(得分:2)

-'\w置于[...](意为字符集)中:

>>> import re
>>> text = "A tall-ish wall, with trim.I don't want to paint it;"
>>> re.findall("[-'\w]+", text)
['A', 'tall-ish', 'wall', 'with', 'trim', 'I', "don't", 'want', 'to', 'paint', 'it']