StringTokenizer



  • Hallo Zusammen,

    ich wünsche allen im Forum ein schönes Wochenende!!

    Ich habe eine Frage zum StringTokenizer. Ich lese aus einer CSV-Datei einen Datensatz. Der Datensatz soll zerlegt werden. Als Trennzeichen ist das Semikolon in dem Satz enthalten. Jetzt kann es sein, dass in manchen Sätzen direkt zwei Semikolons hintereinander kommen, was bedeutet, dass der ursprüngliche String leer war. Jetzt möchte ich aber auch, dass der String leer ist. StringTokenizer scheint es aber so zu interpretieren, dass zwei Semikolon einem Trennzeichen entspricht und nimmt den nächsten String. Damit fehlt mir ein Feld.

    Hat Jemand eine Idee, wie ich das lösen kann?

    Jede Antwort ist willkommen.

    Viele Grüsse

    Oliver 🙂



  • Der Stringtokenizer ist in dieser Hinsicht wirklich ein wenig doof implementiert. Ich habe das Problem mal so gelöst, dass ich ';;' durch ';-;' im ganzen String ersetzt habe und anschließend alle Felder die '-' beinhalten null setze ...



  • Hallo Cengiz,

    vielen Dank, wird sofort ausprobiert!

    Gruss

    Oliver



  • ansonsten eben regex nehmen und nur ersetzen, wenn nicht ;; vorkommt...



  • Hmmmhh, was ist denn "regex" ???

    Gruss

    Oliver



  • Hmmmhh, was ist denn "regex" ???

    Regex == Regular Expression, auf Deutsch: Reguläre Ausdrücke.

    Das sind Pattern, um bestimmte Zeichenfolgen zu erkennen.



  • Wobei die Nutzung von regex für dieses Problem genauso sein würde wie mit Kanonen auf Spatzen zu schießen ...



  • Hallo,

    Danke für alle Antworten. Ich habe das Problem jetzt so gelöst, dass ich für ";;" einfach ";irgendein String, der niemals im Satz vorkommen kann;" ersetzt habe. Damit geht es dann ...

    Also, Danke nochmal!

    Gruss

    Oliver


Anmelden zum Antworten