gpt4 book ai didi

Python - 使用正则表达式更新 2 个节点之间的 xml 值 - re.sub 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 15:13:49 26 4
gpt4 key购买 nike

我想更改 2 个 xml 节点之间的值 - SET_STATUSfiledata 是该 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 - 使用正则表达式更新 2 个节点之间的 xml 值 - re.sub 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44034052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com