【发布时间】:2021-11-21 15:03:03
【问题描述】:
我的字符串看起来像这样:
a = "testing test<U+00FA>ing <U+00F3>"
格式并不总是这样,但括号中的那些 unicode 字符会分散在整个代码中。我想将它们转换为它们所代表的实际 unicode 字符。我试过这个功能:
def replace_unicode(s):
uni = re.findall(r'<U\+\w\w\w\w>', s)
for a in uni:
s = s.replace(a, f'\u{a[3:7]}')
return s
这成功地找到了所有的 unicode 字符串,但它不允许我将它们放在一起以这种方式创建一个 unicode 转义。
File "D:/Programming/tests/test.py", line 8
s = s.replace(a, f'\u{a[3:7]}')
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \uXXXX escape
如何使用 f 字符串或通过其他方法以及从字符串中获取的信息创建 unicode 转义字符?
【问题讨论】:
标签: python python-3.x unicode