我有一个包含大量句子的数据文件,编码如下:
“吉布米尔比特尔克\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'

10-01 10:43