Zeilenumbruch innerhalb der gelesenen Zeile
-
Hallo,
ich lade eine csv Datei in ein Memo. Leider sind in den gelesenen Zeilen in einigen Feldern Zeilenumbrüche enthalten. Wie bekomme ich die weg, so dass nur noch der am Zeilenende vorhanden ist ?Danke für Tipps.
-
@sweetstern sagte in Zeilenumbruch innerhalb der gelesenen Zeile:
Zeilenumbrüche
Hilft das?
https://www.c-plusplus.net/forum/topic/301955/zeilenumbruch-aus-string-durch-ein-zeichen-ersetzen
-
Danke für den Link. Ich konnte es lösen, indem ich ein RichEdit verwendet hab. Nach dem Laden der csv entfernen der ", entfernen aller Zeilenumbrüche und da in der Datei alle Zeilen mit dem Eintrag ENDE enden konnte ich auch an der richtigen Stelle einen Umbruch einfügen.
char sSign = 34; RichEdit1->Text = StringReplace(RichEdit1->Text, sSign, "", TReplaceFlags() << rfReplaceAll); RichEdit1->Text = StringReplace(RichEdit1->Text, "\r\n", "", TReplaceFlags() << rfReplaceAll); RichEdit1->Text = StringReplace(RichEdit1->Text, "ENDE", "ENDE\n", TReplaceFlags() << rfReplaceAll);
-
Du solltest eine temporäre Variable anstatt der jeweiligen Zuweisung zu
RichEdit1->Text
benutzen (um nicht jedemal den Text der Komponente zu setzen - es ist ja nur das Endergebnis wichtig)!Aber du solltest besser gleich einen CSV-Parser zum Einlesen verwenden.
PS: Warum schreibst du bei
"ENDE"
nur'\n'
anstatt den Windows-Zeilenumbruch"\r\n"
?