如何删除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表包含葡萄牙语字符和正则表达式)。
答案 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://áéíóúç/()=)(){[]}