中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏。以下为在下处理中文标点的时候采用的两种方法:
中文标点集合
比较常见标点有这些:
!?。"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘'‛“”„‟…‧﹏.
调用zhon包的zhon.hanzi.punctuation函数即可得到这些中文标点。
如果想用英文的标点,则可调用string包的string.punctuation函数可得到:
!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~
因此,比如需要将所有标点符号去除,可以进行以下操作:
>>> import re
>>> from zhon.hanzo import punctuation
>>> line = "测试。。去除标点。。"
>>> print re.sub("[{}]+".format(punctuation), "", line.decode(