无法使用python中的replace函数替换字符串中的反斜杠?

问题描述 投票:-1回答:1

我试图从python中的字符串中删除反斜杠。我使用的代码如下:

vb='\x82\x81'
vb.replace('\\',"")

The output I am getting is the same string:

'\x82\x81'

The output I want is:

'x82x81'
python string
1个回答
-1
投票

您可以将变量定义为原始字符串:

>>> vb=r'\x82\x81'
>>> vb.replace('\\',"")
'x82x81'

由于答案解决了OP的问题,并且有人看起来很沮丧,因为它有效(感谢角落的情况),这里有一些其他的解决方案,如果“从文件或网络请求或其他任何东西的实际输入”(最后一个应该是最多才多艺的):

>>> vb='\x82\x81'
>>> vb=repr(vb).strip("'")
>>> vb.replace('\\',"")
'x82x81'

\x09\x0a\x5c\x61等情况下

>>> vb='\x09\x0a\x5c\x61\x80\x08\x90\x00\x10\x01'
>>> ''.join([ hex(ord(b))[1:].zfill(3).replace('0x','x0') for b in vb ])
'x09x0ax5cx61x80x08x90x00x10x01'

是的,它很难看,但有效(虽然测试不多) - 可能有一种更简单的方法,嗯。

© www.soinside.com 2019 - 2024. All rights reserved.