替换python中的unicode

时间:2017-10-03 21:13:04

标签: python python-2.7 unicode

这是我用python打印出来的结果:

  

With \u003cb\u003eall\u003c/b\u003e respect, if we look from one perspective, it is just like looking at ants.

,数据类型为

  

<type 'unicode'>

是否可以通过\u003cb\u003e 替换 ''?我试过了

  

str.replace("\u003cb\u003e", '')str.replace("\\u003cb\\u003e", '')str.replace("<b>", ''),但都没有效果

。如何用空字符串正确替换它?

编辑:

这是print repr(mystrung)

的结果
With \\u003cb\\u003eall\\u003c/b\\u003e respect, if we look from one
perspective, it is just like looking at ants.

1 个答案:

答案 0 :(得分:0)

如果您确实想要完全删除它们,那么您的第二个示例应该有效。但是,使用Unicode字符串会更有效,因为消除了隐式转换:

>>> s=u'With \\u003cb\\u003eall\\u003c/b\\u003e respect, if we look from one perspective, it is just like looking at ants.'
>>> s.replace(u'\\u003cb\\u003e',u'').replace(u'\\u003c/b\\u003e',u'')
u'With all respect, if we look from one perspective, it is just like looking at ants.'

如果您只是转换Unicode转义,则编码仅包含带有ascii的ASCII代码点的Unicode字符串会将其转换回字节字符串,然后使用unicode-escape对其进行解码以转换字面转义代码回到字符:

>>> print(s.encode('ascii').decode('unicode-escape'))
With <b>all</b> respect, if we look from one perspective, it is just like looking at ants.