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
