【发布时间】:2012-12-06 20:04:28
【问题描述】:
我正在尝试这样做:
val = re.sub(r'\b' + u_word +'\b', unicode(new_word), u_text)
(所有字符串都是非拉丁的。)
它根本不起作用!
是否可以用正则表达式查找-替换非拉丁文本中的非拉丁词(整个词)? 怎么样?
编辑:
如果你想测试这些字符串:
>>> u_word = u'αβ'
>>> u_text = u'αβγ αβ αβγδ δαβ'
>>> new_word = u'χχ'
>>> val = re.sub(r'\b' + u_word +r'\b', unicode(new_word), u_text)
>>> val
u'\u03b1\u03b2\u03b3 \u03b1\u03b2 \u03b1\u03b2\u03b3\u03b4 \u03b4\u03b1\u03b2'
>>> u_text
u'\u03b1\u03b2\u03b3 \u03b1\u03b2 \u03b1\u03b2\u03b3\u03b4 \u03b4\u03b1\u03b2'
>>>
【问题讨论】:
-
你介意添加 u_word 和 new_word 以便能够测试
-
第二个
\b必须是原始字符串...否则将解释为\x08