Java How To
 


Aufteilen eines Strings in seine Bestandteile

How To ...

Wie teile ich einen String in seine Bestandteile auf?
Kann das „Aufteilungskriterium” bestimmt werden?

Hintergründe

Die Klasse java.util.StringTokenizer teilt Strings in Tokens auf. Der Konstruktor erlaubt optional die Angabe des Trennzeichens.

So geht's

Der Konstruktor mit einem String-Argument teilt diesen String in Tokens auf. Das Trennzeichen ist das Leerzeichen. Das erzeugte Objekt kann mit den Methoden hasMoreElements() und nextElement() bzw. hasMoreTokens() und nextToken() über die Strings iterieren.

Der Konstruktor mit zwei String-Argumenten erlaubt die Angabe des Trennzeichens im zweiten Argument.

Der folgende Code-Ausschnitt trennt einen String nach Leerzeichen

    StringTokenizer st = new StringTokenizer("Dies ist ein String aus einzelnen Wörtern.");
    while (st.hasMoreTokens()) {
	    System.out.println("Das nächste Token: " + st.nextToken());
    }
		

Die Ausgabe:

    Das nächste Token: Dies
    Das nächste Token: ist
    Das nächste Token: ein
    Das nächste Token: String
    Das nächste Token: aus
    Das nächste Token: einzelnen
    Das nächste Token: Wörtern.
		

Der folgende Code-Ausschnitt trennt einen String nach Kommas

    st = new StringTokenizer("123,333,521,23", ",");
    while (st.hasMoreTokens()) {
        System.out.println("Das nächste Token: " + st.nextToken());
    }
		

Die Ausgabe:

    Das nächste Token: 123
    Das nächste Token: 333
    Das nächste Token: 521
    Das nächste Token: 23
		

Das letzte Beispiel kann vor allem für das Parsen von CSV-Dateien („Comma Separated Values”) verwendet werden, die z.B. von Excel erzeugt werden

Links

API-Doc der Klasse StringTokenizer