使用python解析没有反斜杠的unicode字符

问题描述

是否有一种简单的方法可以使用 python3.dll 解析像 u00e4 这样没有任何反斜杠字符的 unicode 字符?我想用正确的字符替换 unicode 序列。我有一个类似下面的文字

Hju00e4lper dig,Tru00e4ffa lu00e4kare,sjuksku00f6terskor och psykologer mm

我当然可以使用某种正则表达式匹配,但是使用 python3 有更简单的方法吗?

解决方法

使用 re.sub 和函数将数字转换为字符:

>>> import re
>>> s='Hju00e4lper dig,Tru00e4ffa lu00e4kare,sjuksku00f6terskor och psykologer mm'
>>> re.sub('u([0-9a-f]{4})',lambda m: chr(int(m.group(1),16)),s)
'Hjälper dig,Träffa läkare,sjuksköterskor och psykologer mm'