我有一个 XML,我想在其中重命名一个标记组,如下所示:
<string>ABC</string>
<string>unknown string</string>
应该
<xyz>ABC</xyz>
<xyz>unknown string</xyz>
ABC 总是一样的,所以这没问题。但是,“未知字符串”总是不同的,但由于我需要提取此信息,我也希望在替换中保留相同的字符串。
这是我到目前为止得到的:
import re
#open the xml file for reading:
file = open('path/file','r+')
#convert to string:
data = file.read()
file.write(re.sub("<string>ABC</string>(\s+)<string>(.*)</string>","<xyz>ABC</xyz>[\1]<xyz>[\2]</xyz>",data))
print (data)
file.close()
我尝试使用捕获组,但没有正确执行。该字符串在我的 XML 中被替换为奇怪的符号。另外,它被打印了两次。我的 XML 中有未更改的版本和已更改的版本,这是我不想要的。