2012-09-05 37 views
2

我写了如下所示的脚本,我想用另一个变量n替换StartNum/StartNum之间的字符串。我如何在Python中定义这两个字符串之间的位置?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 
+1

您可能最好使用'lxml'或其他XML解析库来执行此操作。 – GWW

回答

2
import re 
re.sub('(StartNum)(.*)(/StartNum)', r"\1boop\3", 'StartNumbworp/StartNum') 

这将替换bworpboop,所以它返回的最后一个字符串是StartNumboop/StartNum

+0

首先thx〜但我不很理解我们的代码。你能告诉我如何改变我的代码以上的指向urs? – TJLD22

+0

请参阅http://docs.python.org/library/re.html#re.sub和http://www.regular-expressions.info/python.html。你想用你想要替换的字符串替换最后一个参数,而用替换替换第二个参数。 – Ivo

相关问题