在Python 3中替换字符串中的unicode字符

时间:2016-04-14 22:49:05

标签: python string python-3.x unicode replace

我有一个字符串,其中一些字符显示为unicode,例如: " bla bla bla \ uf604 bla bla bla"

我尝试过做string = string.replace("\uf604", "X"),但没有任何反应。我试图将字符串解码为utf-8,但显然这在Python 3中不起作用。

如何更换角色?

2 个答案:

答案 0 :(得分:6)

在Python 3中,这有效(尽管print可能不会,具体取决于您的终端):

>>> s="bla bla bla \uf604 bla bla bla"
>>> print(s)
bla bla bla  bla bla bla
>>> s="bla bla bla \uf604 bla bla bla"
>>> s.replace('\uf604','X')
'bla bla bla X bla bla bla'

但也许您有一个 literal 斜杠而不是转义码。请注意print差异:

>>> s="bla bla bla \\uf604 bla bla bla"
>>> print(s)
bla bla bla \uf604 bla bla bla
>>> s.replace('\uf604','X')
'bla bla bla \\uf604 bla bla bla'

使用转义斜杠修复:

>>> s.replace('\\uf604','X')
'bla bla bla X bla bla bla'

答案 1 :(得分:-1)

如果告诉python使用原始字符串,则可以使用replace-method:

s = r"bla bla bla \uf604 bla bla bla"
s = s.replace(r"\uf604", "X")

结果为s ='bla bla bla X bla bla bla'