Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.647 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Regulärer Ausdruck Zeilenumbruch in Zeile bei CSV ersetzen

  Alt 5. Mai 2021, 11:01
Wie gesagt, mit RegEx sollte es auch gehn. (aber das Ergebnis solltest du noch prüfen, dass auch jeweils die richtigen beiden " zusammen verwendet wurden).

Das von Moombas, wäre in etwa so

Delphi-Quellcode:
SL := TStringList.Create;
SL.LoadFromFile(...);
for i := SL.Count - 2 downto 0 do
  // if Odd(SL[i + 1].CountChar('"')) then begin // Delphi 10.x
  if Odd(CountChar('"', SL[i + 1])) then begin // irgendwo eine Funktion suchen, die sowas macht
    SL[i] := SL[i] + 'dasTennzeichen' + SL[i + 1];
    SL.Delete(i + 1);
  end;
SL.SaveToFile(...);
SL.Free;
von vorne nach hinten geht auch, aber hab keine Lust auf While mit Inc(i)

statt CountChar('"', S) ginge auch Length(S) - Length(ReplaceStr(S, '"', ''))

statt TStringList geht es auch mit TArray<string> und TFile.ReadAllLines (Delphi 10.x)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu ( 5. Mai 2021 um 11:33 Uhr) Grund: to -> downto
  Mit Zitat antworten Zitat