【发布时间】:2014-03-12 04:53:21
【问题描述】:
我有两个文本文件,并将 XXX 占位符替换为第二个文件中的实际匹配项 - 按照第二个文件中给出的顺序。
第一个文本是一个包含多行和多个占位符的文件。
欧盟由以下国家组成 XXX, XXX, XXX, XXX, XXX, .... 欧盟内最大的三个国家是XXX、XXX、XXX。
第二个文件是一个列表,每行一个匹配项:
波兰 荷兰 丹麦 西班牙 意大利 德国 法国
我想将其替换如下:
欧盟由以下国家组成:波兰、荷兰、丹麦、西班牙、意大利...... 欧盟内最大的三个国家是德国、法国、XXX。
到目前为止,我已经完成了这个编码:
import re
file1 = open("text.txt")
file2 = open("countries.txt")
output = open("output.txt", "w")
countrylist = []
i=0
for line in file2:
countrylist[i:] = verweise
i=i+1
j=0
for line in file1:
if "XXX" in line:
line = re.sub("XXX", countrylist[j], line)
j=j+1
output.write(line)
output.flush()
output.close
我的问题是正则表达式替换不仅对第一次出现/匹配有效,而且对整个第一行有效。所以我的输出现在看起来像这样:
欧盟由以下国家组成:波兰、波兰、波兰、波兰、波兰、...。 欧盟内最大的三个国家是荷兰、荷兰、荷兰。
如何将每一次出现的 XXX 匹配到我的国家/地区列表的一行?
感谢您的帮助!
【问题讨论】: