从字符串中删除转义字符

时间:2017-09-11 09:20:01

标签: python string python-2.7 escaping

如何删除Python 2.7和python 3中的转义字符?

示例:

a = "\u00E7a\u00E7a\u00E7a=http\://\u00E1\u00E9\u00ED\u00F3\u00FA\u00E7/()\=)(){[]}"
decoded =  a.decode('unicode_escape')
print decoded

结果:

çaçaça=http\://áéíóúç/()\=)(){[]}

预期结果

çaçaça=http://áéíóúç/()=)(){[]}

编辑:为了避免不必要的downvotes。使用.replace并不是我们的主要关注点,因为这个问题是由其他团队的遗留解决方案引起的(带有参考数据的db表包含葡萄牙语字符和正则表达式)。

2 个答案:

答案 0 :(得分:2)

您正在寻找简单的 str.replace

>>> print decoded.replace('\\', '')
çaçaça=http://áéíóúç/()=)(){[]}

剩下的\实际上是一个字面反斜杠,而不是转义序列。

答案 1 :(得分:0)

您可以简单地删除字符串中不必要的转义字符,即

>>> a = "\u00E7a\u00E7a\u00E7a=http://\u00E1\u00E9\u00ED\u00F3\u00FA\u00E7/()=)(){[]}"
>>> decoded =  a.decode('unicode_escape')
>>> print decoded
çaçaça=http://áéíóúç/()=)(){[]}