Skip to main content
 首页 » 编程设计

python之用字符串替换 'match' 对象,Python

2025年05月04日23soundcode

我想用另一个字符串替换文本中的某些行。到目前为止,我能够找到要替换为的文本:

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)