我想用另一个字符串替换文本中的某些行。到目前为止,我能够找到要替换为的文本:
text = open('sample','r').read()
regex = re.compile('.*#= min, max\s')
for match in regex.finditer(text):
print match.group(0) #this is what i want to replace
编辑:也尝试过
text = open('sample','r').read().split('\n')
for line in text:
line = re.sub('.*#= min, max\s', "HOLA", line)
文本保持不变。可能是我的正则表达式搞砸了吗?我在其他地方使用了相同的,没有问题。它也是一个简单的正则表达式。
如何切换到另一行?谢谢!
请您参考如下方法:
尝试:
subbedlines = []
with open('sample','r') as textreader:
lines = textreader.read().split('\n')
for line in lines:
subbedlines.append(re.sub('.*#= min, max\s', "HOLA", line))
如果您的正则表达式正确并且文本文件中的行匹配,则应该可以工作。 要再次写入文件,只需执行以下操作:
with open('sample','w') as textwriter:
for line in subbedlines:
textwriter.write("%s\n" % line)
