我有一个文本文件,我的脚本正在阅读并从中获取最常用的文字。但是,在执行此操作的过程中,在清理源文本期间,它无法处理重音字符(在这种情况下,它们是áéíóöőúüű)。
这就是我现在所拥有的。
str = re.sub(r'\W+', ' ', str)
这只是删除重音字符。我尝试添加flags=re.U
,但它只是以不同的方式搞砸了结果。我怀疑有一个简单的方法来解决我的问题,我已经找到了,但没有成功,所以我转向你。提前谢谢。
答案 0 :(得分:3)
您需要使用正确的修饰符:
str = re.sub(ur'\W+', u' ', s, flags=re.UNICODE)
^^^^^^^^^^
请参阅Python 2.x docs:
制作
\w
,\W
,\b
,\B
,\d
,\D
,\s
和{{1序列依赖于Unicode字符属性数据库。还可以为IGNORECASE启用非ASCII匹配。
这是在线Python 2.7 demo:
\S