我有一个包含大量句子的数据文件,编码如下:
“吉布米尔比特尔克\u00e4ltung”
我还有一个包含大量关键字的数据文件,编码如下:
“埃尔顿”
我想在句子中搜索关键词,然后将它们以“Erkältung”格式写入文件。
如何将00e4转换为_而不必执行以下操作:
String.replace('\u00e4','228')
更确切地说,我希望在Python2.6中返回匹配的结果:
(编码:UTF-8)
sentence = "Gib mir bitte Erk\u00e4ltung"
keyword = "Erkältung"
re.search(keyword, line)
有什么线索吗?
最佳答案
Python内置了一些方便的字符编码转换在这种情况下,unicode_escape
就是你想要的。当你读到你的句子时,在进行搜索之前,请按如下方式进行转换:
# Original sentence:
>>> s = "Gib mir bitte Erk\u00e4ltung"
>>> print s
Gib mir bitte Erk\u00e4ltung
>>> print repr(s)
'Gib mir bitte Erk\\u00e4ltung'
# Converted sentence:
>>> sc = s.decode('unicode_escape')
>>> print sc
Gib mir bitte Erkältung
>>> print repr(sc)
u'Gib mir bitte Erk\xe4ltung'