Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#69

AW: Anzahl eines Zeichens im String ermitteln

  Alt 13. Jul 2018, 13:28
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;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat