我想把这个字符串:
a = '\\a'
这个一个
b = '\a'
似乎没有明显的方法可以做到这一点replace
?
编辑:更确切地说,我想更改反斜杠的转义符以逃避字符 a
字符“ \ 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] 删除。
我来说两句