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

use*_*012 1 python string unicode replace python-3.x

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

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

我该如何更换角色?

Mar*_*nen 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'
Run Code Online (Sandbox Code Playgroud)

但也许你有一个字面斜杠而不是转义代码.注意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'
Run Code Online (Sandbox Code Playgroud)

使用转义斜杠修复:

>>> s.replace('\\uf604','X')
'bla bla bla X bla bla bla'
Run Code Online (Sandbox Code Playgroud)