python在某些两个单词之间更改字符串

python在某些两个单词之间更改字符串,python,replace,Python,Replace,我编写了一个如下所示的脚本,我想用另一个变量n替换StartNum和/StartNum之间的字符串。如何在Python中定义这两个字符串之间的位置 f1 = open('name.txt', 'r') f2 = open('result.txt', 'w') n=5000 for line in f1: f2.write(line.replace('(StartNum)(.*)(/StartNum)',str(n))) if "StartNum" in line:

我编写了一个如下所示的脚本,我想用另一个变量
n
替换
StartNum
/StartNum
之间的字符串。如何在Python中定义这两个字符串之间的位置

f1 = open('name.txt', 'r')
f2 = open('result.txt', 'w')
n=5000
for line in f1:
    f2.write(line.replace('(StartNum)(.*)(/StartNum)',str(n)))
    if "StartNum" in line:
        n=n+1

这将
bworp
替换为
boop
,因此它返回的最后一个字符串是
StartNumboop/StartNum

您可能最好使用
lxml
或其他XML解析库来执行此操作。首先,thx~但我不太了解您的代码。您能告诉我如何根据urs更改上述代码吗?请参阅和。您希望用要替换的字符串替换最后一个参数,用替换字符串替换第二个参数。
import re
re.sub('(StartNum)(.*)(/StartNum)', r"\1boop\3", 'StartNumbworp/StartNum')