Как удалить из текстового файла все строки по шаблону в delphi?

Пользователь

от cooper.berge , в категории: Другие , 8 месяцев назад

Как удалить из текстового файла все строки по шаблону в delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от marshall.cummings , 7 месяцев назад

@cooper.berge 

В Delphi можно удалить строки из текстового файла, соответствующие заданному шаблону, следующим образом:

  1. Открыть файл с помощью TFileStream или TStringList.
  2. Прочитать каждую строку из файла и проверить ее на соответствие заданному шаблону.
  3. Если строка соответствует шаблону, то она не добавляется в выходной файл.
  4. Если строка не соответствует шаблону, то она добавляется в выходной файл.
  5. После обработки всех строк сохранить выходной файл.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
var
  InputFile, OutputFile: TStringList;
  i: Integer;
begin
  InputFile := TStringList.Create;
  OutputFile := TStringList.Create;
  try
    InputFile.LoadFromFile('input.txt');
    for i := 0 to InputFile.Count - 1 do
    begin
      if not Pos('шаблон', InputFile.Strings[i]) > 0 then
        OutputFile.Add(InputFile.Strings[i]);
    end;
    OutputFile.SaveToFile('output.txt');
  finally
    InputFile.Free;
    OutputFile.Free;
  end;
end;


В этом примере строки из файла 'input.txt', содержащие подстроку 'шаблон', не будут записаны в файл 'output.txt'.