解析包含Unicode字符名称的字符串

3

我有一个字符串

>>> s
u'M\\N{AMPERSAND}M\\N{APOSTROPHE}s'
>>> print s
M\N{AMPERSAND}M\N{APOSTROPHE}s

我该如何将其转换为M&M's

2个回答

3
您可以使用 unicode_escape编码
在 Python 2.x 中:
>>> u'M\\N{AMPERSAND}M\\N{APOSTROPHE}s'.decode('unicode-escape')
u"M&M's"

在Python 3.x中:
>>> u'M\\N{AMPERSAND}M\\N{APOSTROPHE}s'.encode().decode('unicode-escape')
"M&M's"

1

根据您的print命令,我猜您正在使用Python 2。 您可以使用decode()函数,并将输入参数设置为您正在使用的编码,例如这种情况下的'unicode-escape'

>>> s
u'M\\N{AMPERSAND}M\\N{APOSTROPHE}s'
>>>s.decode('unicode-escape')
>>> print s
"M&M's"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接