如何在python中用新的十六进制值替换子字符串值(十六进制值0x20E00)?
<d:var name="Length" value="0x20E00"/>
答案 0 :(得分:1)
您可以使用正则表达式和re.sub()
:
>>> import re
>>> s = '<d:var name="Length" value="0x20E00"/>'
>>> re.sub(r'0[xX][0-9a-fA-F]+', '0xdeadbeef', s)
'<d:var name="Length" value="0xdeadbeef"/>'
也就是说,如果您正在使用XML,那么最好使用XML parser来操纵它。
答案 1 :(得分:1)
这是将re.sub
与look behind
结合使用的一种方式:
re.sub(r'(?<=value=\").*(?=\")', 'new hex value',s)
'<d:var name="Length" value="new hex value"/>'