除了字母字符和句点之外,我想从字符串中删除所有字符串。 我在python中创建了以下函数。我如何扩展正则表达式,以便不从字符串中删除句点?这需要适用于unicode字符串。
def normalize(self, text):
text = re.sub(ur"(?u)[\W\d]+", ' ', text)
print text
return text
答案 0 :(得分:4)
更改语义来删除此组中的所有内容'剥离这个群体中不包含的所有内容'并使用:
text = re.sub(ur"(?u)[^a-zA-Z\.]+", ' ', text)
更新
我不认为上述解决方案适用于所有unicode字母表
answers here为内置re
提供支持unicode字母组的替代模块。
另一种选择是结合两种方法:
>>> text = '1234abcd.à!@#$'
>>> re.sub(ur'(?u)([^\w\.]|\d)+',' ',text)
' abcd.\xc3 '