网上搜到的大都太复杂,最后找到一个用正则表达式实现的:

import re
s = "string. With. Punctuation?"
# 如果空白符也需要过滤,使用 r'[^\w]'
s = re.sub(r'[^\w\s]','',s)

支持中文和中文标点。

原理很简单:在正则表达式中,\w 匹配字母或数字或下划线或汉字(具体与字符集有关),^\w 表示相反匹配。

转自:http://baimoz.me/1656/

05-08 08:00