从字符串中删除转义字符
问题描述:
如何删除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表中包含带有葡萄牙语字符和正则表达式的参考数据)。
答
你正在寻找一个简单的str.replace
>>> print decoded.replace('\\', '')
çaçaça=http://áéíóúç/()=)(){[]}
其余\
实际上是一个反斜杠,而不是一个转义序列。
答
你可以简单地在你的字符串中删除不必要的转义字符,即
>>> a = "\u00E7a\u00E7a\u00E7a=http://\u00E1\u00E9\u00ED\u00F3\u00FA\u00E7/()=)(){[]}"
>>> decoded = a.decode('unicode_escape')
>>> print decoded
çaçaça=http://áéíóúç/()=)(){[]}
+0
我试图避免替换,因为有时反斜杠存在于其他字符串。 –
我试图避免使用.replace,因为这是一个参考的数据,有时它是必要的。不是因为它是一个转义字符,而是因为它属于字符串。 –
@ThalesPereira如果反斜杠是转义序列的一部分,它将不会被替换。 –
@ThalesPereira尝试:'v ='\ xff'; v.replace('\\','')'看看会发生什么...... –