从字符串中删除转义字符

elelias

我想把这个字符串:

a = '\\a'

这个一个

b = '\a'

似乎没有明显的方法可以做到这一点replace

编辑:更确切地说,我想更改反斜杠的转义符以逃避字符 a

2号环

字符“ \ a”是ASCII BEL字符chr(7)。

在Python 2中进行转换:

from __future__ import print_function
a = '\\a'
c = a.decode('string-escape')
print(repr(a), repr(c))

输出

'\\a' '\x07'

而对于未来的参考,在Python 3:

a = '\\a'
b = bytes(a, encoding='ascii')
c = b.decode('unicode-escape')
print(repr(a), repr(c))

这将为上述片段提供相同的输出。

在Python 3中,如果要使用bytes对象,则应执行以下操作:

a = b'\\a'
c = bytes(a.decode('unicode-escape'), 'ascii')
print(repr(a), repr(c))

输出

b'\\a' b'\x07'

正如Antti Haapala提到的那样,如果源字符串也包含unicode字符,则这种用于Python 3的简单策略将不起作用。在这种情况下,请参阅他的答案以获得更可靠的解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章