代碼如下:
import re
import string
import os
file = open(r'C:\Users\Administrator\Desktop\新建檔案夾\aa.txt','r')
#lines = file.readlines()#按行讀取
s = file.read()
string = ''.join(s)
result = re.findall('aaa '+"(.*?)"+' ccc', s)
#print (result)
while len(result)>0 :
A = result.pop(0)
DD = (s.replace(A,'')) #替換原文本為空
#print(result)
#print(DD)
save = open(r'C:\Users\Administrator\Desktop\新建檔案夾\bb.txt','w')
save.write(DD)
save.close()
===================================================================================
文本a的內容和最終生成的文本b如圖:

未能實作全部替換,實在找不到原因。。
===================================================================================
小白剛開始接觸,求大神指點迷津

uj5u.com熱心網友回復:
把re中的非貪婪匹配改為貪婪匹配試試uj5u.com熱心網友回復:
同時還要設定re的匹配標簽:re.Suj5u.com熱心網友回復:
import re
file = open(r'C:\Users\admin\Desktop\aa.txt', 'r')
lines = file.readlines() # 按行讀取
result = ""
for line in lines:
result += re.sub(r'(aaa)(.*)(ccc)', r'\1 \3', line, flags=re.S)
save = open(r'C:\Users\admin\Desktop\bb.txt', 'w')
save.write(result)
save.close()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/261511.html
