我有字符串说
string1 = '0x000x200x300x00'
我想要像
这样的结果result = '\x00\x20...'
我想替换每个' 0x'用' \ x' 。怎么做 ? 我在python中尝试过替换函数,如下所示
y = x.replace('0x', '\x')
y = x.replace('0x', '\\x')
y = x.replace('0x', r'\x')
但没有成功:(。 任何人都可以帮忙解决这个问题吗?
答案 0 :(得分:2)
string1.replace("0x","\\x") use `\\` to escape the `\`
/
也与\
不同。
string1 = '0x000x200x300x00'
print string1.replace("0x","\\x")
\x00\x20\x30\x00
In [19]: string1 = '0x000x200x300x00'
In [20]: print string1.replace("0x","\\x") # str
\x00\x20\x30\x00
In [21]: string1.replace("0x","\\x") # repr
Out[21]: '\\x00\\x20\\x30\\x00'
答案 1 :(得分:0)
你到底想要完成什么?
我有点谨慎发布这个答案,因为它不会直接回答你的问题,但是我假设你想做一些字节错误(疯狂猜测)因为你的问题不是很明确。
如果是这样,那么这是另一个""你可能想做:
data = [int(_, 16) for _ in string1.split('0x')[1:]]
这将为您提供表示"字节"(?)值的int
列表(当然取决于您想要做的...)
上面的代码基于您的示例输入做了几个假设:
0x
0xnn
字符串,其中 nothing 其他!