Also wenn du es schaffst mit Regulären Ausdrücken zu bestimmen ob die Zeile gelöscht werden soll oder nicht, könntest dud ann folgendes versuchen.
Delphi-Quellcode:
procedure DeleteLines (fname_in, fname_out, exp: string);
var
list : TStrings;
i : integer;
begin
list := TStringList.Create;
try
list.LoadFromFile(fname_in);
i := 0;
while i < list.Count do
begin
if not FindWithRegExp (list[i],exp) then
list.Delete(i)
else
inc(i);
end;
list.SaveToFile(fname_out);
finally
list.Free;
end;
end;
FindWithRegExp (list[i],exp) wäre dann Eine Funktion , die Prüft ob der Ausdruck in exp auf list[i] passt und dann true bzw false zurück gibt. Mangels Kenntnissen von Regulären Ausdrücken kann ich dir dabei jedoch nicht helfen.
Gruß
tr909