Kann for mit Semikolon innerhalb von Texttrennern umgehen?

kristov
Goto Top
Hallo,

mir ist kein besserer Titel eingefallen. Es geht darum, eine csv-Datei zu filtern und das Ergebnis in eine neue csv-Datei zu schreiben. Die csv-Datei beginnt mit einer Zahl gefolgt von einem Semikolon, das ist auch das Filterkriterium. Momentan wird nach Zeilen gesucht, die mit 1; beginnen, und das Ergebnis (nur relevante Spalten davon) in eine neue Datei geschrieben. Auf den Aufbau der Quelldatei habe ich keinen Einfluß.


Das funktioniert aber nur, wenn jedes token der Quelle "sauber" mit einem ; getrennt ist:


Leider habe ich auch Zeilen mit Texttrenner und Semikolon:


Und da ist der Hund begraben:

Die Schleife gibt ohne Texttrenner und Semikolon aus:

Mit Texttrenner folgendes:

Gibt's irgendeine Chance, auch mit Texttrenner das gewünschte Ergebnis zu erhalten?

Content-Key: 203668

Url: https://administrator.de/contentid/203668

Ausgedruckt am: 10.08.2022 um 16:08 Uhr

Mitglied: Endoro
Endoro 21.03.2013 um 01:01:49 Uhr
Goto Top
Hallo kristov,

die Forschleife kann nicht mit " (double quotes) escapete Delimiter erkennen. Dafür musst du einen Parser selber bauen.

bb
Mitglied: format-c
format-c 21.03.2013 um 20:17:25 Uhr
Goto Top
Zitat von @kristov:
Gibt's irgendeine Chance, auch mit Texttrenner das gewünschte Ergebnis zu erhalten?

Welches Ergebnis ist denn von dir gewünscht? Willst du, dass 44 und 66 mit beim zweiten Ergebnis erscheinen, also dass alles, was innerhalb von "" steht, als ein zusammenhängender Eintrag erkannt wird?

BTW: wozu benötigst du den Schalter /r bei findstr, wenn du gleichzeitig /c verwendest?
Mitglied: bastla
bastla 21.03.2013 aktualisiert um 23:53:09 Uhr
Goto Top
@ format-c
wozu benötigst du den Schalter /r bei findstr, wenn du gleichzeitig /c verwendest?
Die Frage sollte eher lauten: Wozu in diesem Fall überhaupt "/r" oder "/c"?

Ansonsten kann die Kombination sehr wohl sinnvoll sein, denn auch bei Verwendung von "/r" gilt ein Leerzeichen als Trennzeichen zwischen mehreren (voneinander unabhängigen) Suchbegriffen - Beispiel:
Grüße
bastla
Mitglied: format-c
format-c 22.03.2013 um 02:26:54 Uhr
Goto Top
Stimmt, hast Recht.
Mitglied: format-c
format-c 22.03.2013 um 13:27:21 Uhr
Goto Top
Falls ein automatischer Ablauf bei dir nicht unbedingt erforderlich ist, kann ich dir das Tool "CSVed" wärmstens empfehlen. Dort kannst du die Reihenfolge der Spalten mit drag&drop ändern und er erkennt Werte innerhalb der "" als zusammenhängende Werte.


Grüße
format-c