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

时间:2019-04-18 07:57:03

标签: python string

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

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

The output I am getting is the same string:

'\x82\x81'

The output I want is:

'x82x81'

1 个答案:

答案 0 :(得分:-1)

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

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

由于答案解决了OP的问题,并且似乎有人为它的工作感到沮丧(这要感谢极端情况),因此,在“来自文件或Web请求或其他任何内容的实际输入”的情况下,这里还有其他几种解决方案(最后一个应该用途最广):

>>> 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'

是的,这很丑陋,但是可以工作(尽管测试不多)–可能有一种更简单的方法,嗯。