sollte erst mal prüfen warum man die Suche überhaupt braucht. Die zu vermeiden ist meist der wesentlich schnellere Weg.
Hier z.B. ein Helper für TTextReader zum korrekten Einlesen einer
CSV-Datei, bei der innerhalb der gequoteten Felder Zeilenumbrüche vorkommen.
Delphi-Quellcode:
function TTextReaderHelper.ReadQuotedLine(QuoteChar: Char): string;
var
line: string;
begin
Result := ReadLine;
if Odd(Result.CountChar(QuoteChar)) then begin
{ Eine ungerade Anzahl von Quotes bedeutet, daß der gequotete String mindestens einen Zeilenumbruch enthält.
Wir hängen also die nachfolgenden Zeilen mit LineBreak an, bis eine weitere Zeile mit ungerader Anzahl
Quotes kommt.
}
repeat
Result := Result + sLineBreak;
line := ReadLine;
Result := Result + line;
until Odd(line.CountChar(QuoteChar));
end;
end;