我想在2个xml节点之间更改值-SET_STATUS
filedata是该xml行所在的文本。
<ws:genericAction>SET_STATUS</ws:genericAction>
为此写了正则表达式:
re.sub(r'<\/ws:genericAction>\s*(.*)(?=\n<\/ws:genericAction>)', "New Text", filedata, flags=re.IGNORECASE)
所有程序:
with open("createUser.txt", 'r') as file:
filedata = file.read()
re.sub(r'<\/ws:genericAction>\s*(.*)(?=\n<\/ws:genericAction>)', "New Text", filedata, flags=re.IGNORECASE)
with open("createUser.txt", 'w') as file:
file.write(filedata)
谢谢你的帮助
最佳答案
re.sub()
不会修改字符串,而是在替换后返回该字符串:
filedata = re.sub(r'(<ws:genericAction>)([^<>]+)(?=<\/ws:genericAction>)', "\\1New Text", filedata, flags=re.IGNORECASE)
https://docs.python.org/3/library/re.html#re.sub
关于python - Python-使用正则表达式更新2个节点之间的xml值-re.sub无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44034052/