2012-09-05 73 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

相關問題