簡體   English   中英

Python替換包含十六進制數字的子字符串

[英]Python replace sub string containing hex digit

如何在python中用新的十六進制值替換子字符串值(十六進制值0x20E00)?

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

您可以使用正則表達式和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解析器來操作它。

這是在look behind使用re.sub的方法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM