Python替换包含十六进制数字的子字符串

2024-04-20 07:52:50 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,如何用新的十六进制值替换子字符串值(十六进制值0x20E00)

 <d:var name="Length" value="0x20E00"/>

Tags: 字符串namevaluevarlength
2条回答

可以使用正则表达式和^{}

>>> 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来操作它

以下是一种将^{}^{}结合使用的方法:

re.sub(r'(?<=value=\").*(?=\")', 'new hex value',s)
'<d:var name="Length" value="new hex value"/>'

相关问题 更多 >