Я удаляю конкретную строку и пустую строку в текстовом файле, и это следует из моего предыдущего вопроса ... Я ссылаюсь на некоторые примеры и решения наших экспертов SO ... и это работает хорошо, удаляя строку, но не пустая строка. Чтобы было проще понять, я выделю здесь проблему.
Некоторая часть текстового файла содержит строку из строк A, stringB и stringC, а также пустую строку под ним и только для удаления одной строки под ним.
line0
line1 stringAxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line2 stringBxxxxxxxxxxxxxxxxxxxxxxx
line3 stringCxxxxxxxxxxxxxxxxxxx
line4
line5
line6 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line7 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line8
line9 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line10 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line11 stringBxxxxxxxxxxxxxxxxxxxxxxx
line12 stringCxxxxxxxxxxxxxxxxxxx
line13
line14
line15 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line16 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line17
line18 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line19 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line20
line21 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line22 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line23
line24 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line25 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line26 stringBxxxxxxxxxxxxxxxxxxxxxxx
line27 stringCxxxxxxxxxxxxxxxxxxx
line28
line29
line30 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line31 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line32
В этом случае удаляется любая строка, в которой есть любая строка A, stringB, stringC и одна строка после нее. Например, выше удалить строку 1,2,3,4 удалить строку 11,12,13 удалить строку 26,27,28
Я пытался использовать strip (), но он удаляет всю пустую строку. Это скрипт, который я использую, и он удаляет все строки, содержащие строки A, stringB и stringC.
filename = 'raw.txt'
with open(filename, 'r') as fin:
lines = fin.readlines()
with open('clean.txt', 'w') as fout:
for line in lines:
if not re.match(r"\s+(stringA|stringB|stringC)", line):
fout.write(line)
ожидаемый результат
line0
line5
line6 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line7 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line8
line9 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line10 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line14
line15 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line16 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line17
line18 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line19 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line20
line21 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line22 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line23
line24 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line25 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line29
line30 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line31 textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
line32
Благодарим Вас за помощь и любезную помощь. Спасибо.