Найти строки, не содержащие символы ‘abc’ и удалить их — Delphi(Делфи)

Нужно открыть текстовый файл 'Test.txt', найти в нём строки, не содержащие символ 'abc' и удалить их, а далее в оставшихся строках удалить все символы 'def' и сохранить изменённый файл.
var
  sl:TStringList;
  i:integer;
begin
  sl:=TStringList.Create;
  try
    //Чтение
    sl.LoadFromFile('C:\test.txt');
    //удаление строк без 'abc'
    i:=0;
    while i<sl.Count do
      begin
        if pos('abc',sl[i])>0 then
          inc(i)
        else
          sl.Delete(i);
      end;
    //удаление 'def'
    sl.Text:=StringReplace(sl.Text,'def','',[rfReplaceAll,rfIgnoreCase]);
    //запись
    sl.SaveToFile('C:\test.txt');
  finally
    sl.Free;
  end;
end;

Leave a Comment

68 − = 59