CodeGym /Java-Blog /Random-DE /StringTokenizer in Java
John Squirrels
Level 41
San Francisco

StringTokenizer in Java

Veröffentlicht in der Gruppe Random-DE
Die StringTokenizer- Klasse in Java bietet eine Tokenizer- String- Methode zum Aufteilen einer Zeichenfolge in Token basierend auf einem angegebenen Trennzeichen. Der Tokenizer- String kann ein beliebiger String sein, der die Token trennt, beispielsweise ein Komma, ein Semikolon oder ein Leerzeichen. Mit der Tokenizer- String- Methode der StringTokenizer- Klasse können wir einen String in seine Bestandteile aufteilen. Durch den Aufruf der nextToken()- Methode können wir nacheinander jedes Token abrufen, und mit der hasMoreTokens()- Methode können wir prüfen, ob noch weitere Token übrig sind. Mit der Methode length() der Klasse StringTokenizer kann die Länge jedes Tokens ermittelt werden. StringTokenizer String ist ein nützliches Tool zur String-Manipulation und kann zum Parsen von CSV-Dateien, URLs oder anderen textbasierten Daten verwendet werden. Die StringTokenizer- Klasse ist Teil des Java.util- Pakets und bietet eine einfache Möglichkeit, eine Zeichenfolge in Token aufzuteilen. Die Klasse verfügt über zwei Konstruktoren: einen, der eine zu tokenisierende Zeichenfolge und ein Trennzeichen oder eine Trennzeichenfolge akzeptiert, und einen anderen, der dieselben Argumente sowie ein boolesches Flag akzeptiert, das angibt, ob das Trennzeichen als Token einbezogen werden soll oder nicht. Sobald Sie ein StringTokenizer- Objekt erstellt haben , können Sie dessen verschiedene Methoden verwenden, um die Token zu durchlaufen und verschiedene Operationen an ihnen auszuführen.

Tokenisierungsmethode

Bei der Tokenisierungsmethode wird eine Zeichenfolge in kleinere Teile oder Token aufgeteilt. Dieser Vorgang wird mithilfe eines Trennzeichens durchgeführt, bei dem es sich um ein Zeichen oder eine Zeichenfolge handeln kann, die die einzelnen Token trennt. Betrachten Sie beispielsweise die folgende Zeichenfolge:
String input = "Hello World! How are you today?";
Wenn wir diese Zeichenfolge in einzelne Wörter aufteilen möchten, können wir das Leerzeichen als Trennzeichen verwenden, etwa so:
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
    String token = tokenizer.nextToken();
    System.out.println(token);
}

Ausgabe

Hallo Welt! Wie geht es dir heute?
In diesem Beispiel erstellen wir ein neues StringTokenizer- Objekt mit der Eingabezeichenfolge und einem Leerzeichen als Trennzeichen. Anschließend durchlaufen wir die Token mithilfe der Methode hasMoreTokens() und rufen jedes Token mithilfe der Methode nextToken() ab . Schließlich drucken wir jedes Token auf der Konsole aus.

Tokenlänge

Zusätzlich zu der Grundfunktionalität der nextToken()- Methode bietet die StringTokenizer- Klasse auch Methoden zum Abrufen der Länge jedes Tokens und zum Abrufen eines bestimmten Tokens anhand des Index. Um die Länge des aktuellen Tokens zu ermitteln, können Sie die Methode token.length() verwenden . Zum Beispiel:
public class StringTokenizerExample {
    public static void main(String[] args) {
        String input = "Hello World! How are you today?";
        StringTokenizer tokenizer = new StringTokenizer(input, " ");
        while (tokenizer.hasMoreTokens()) {
            String token = tokenizer.nextToken();
            System.out.println("Token: " + token + " Length: " + token.length());
        }
    }
}

Ausgabe

Token: Hallo Länge: 5 Token: Welt! Länge: 6 Token: Wie Länge: 3 Token: sind Länge: 3 Token: Sie Länge: 3 Token: heute? Länge: 6
In diesem Beispiel rufen wir jedes Token wie zuvor ab, verwenden aber zusätzlich die Methode length() , um die Länge jedes Tokens abzurufen, die wir dann auf der Konsole ausgeben.

Beispiel

Schauen wir uns ein vollständiges Beispiel an, das zeigt, wie die StringTokenizer- Klasse in Java verwendet wird:
public class Example {
    public static void main(String[] args) {
        String input = "John,Doe,123 Main St.,Anytown,USA";
        StringTokenizer tokenizer = new StringTokenizer(input, ",");
        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

Ausgabe

John Doe 123 Main St. Anytown USA
In diesem Beispiel haben wir eine Zeichenfolge, die eine durch Kommas getrennte Liste von Werten darstellt. Wir erstellen ein neues StringTokenizer- Objekt mit dieser Zeichenfolge und einem Komma als Trennzeichen. Anschließend durchlaufen wir die Token mithilfe der Methode hasMoreTokens() und rufen jedes Token mithilfe der Methode nextToken() ab . Schließlich drucken wir jedes Token auf der Konsole aus. Beachten Sie, dass wir in diesem Beispiel nicht die Methode length() verwendet haben , da uns nur die einzelnen Token selbst interessieren.

StreamTokenizer-Klasse

Die StringTokenizer- Klasse bietet zwar eine einfache Möglichkeit, eine Zeichenfolge in Token aufzuteilen, weist jedoch einige Einschränkungen auf. Es kann beispielsweise nicht mit mehreren Trennzeichen oder verschiedenen Tokentypen wie Zahlen und Wörtern umgehen. Wenn Sie erweiterte Tokenisierungsfunktionen benötigen, können Sie die StreamTokenizer- Klasse verwenden. Diese Klasse bietet mehr Flexibilität und kann verschiedene Eingabetypen verarbeiten. Um das Gelernte zu vertiefen, empfehlen wir Ihnen, sich eine Videolektion aus unserem Java-Kurs anzusehen

Abschluss

In diesem Artikel haben wir die StringTokenizer- Klasse in Java untersucht und gesehen, wie sie zum Aufteilen einer Zeichenfolge in Token verwendet werden kann. Wir haben auch gesehen, wie man einige der Methoden der Klasse verwendet, um verschiedene Operationen an den Token durchzuführen, z. B. ihre Länge zu ermitteln und bestimmte Token anhand des Index abzurufen. Obwohl die StringTokenizer- Klasse ein einfaches und nützliches Werkzeug ist, hat sie doch ihre Grenzen. Wenn Sie erweiterte Tokenisierungsfunktionen benötigen, sollten Sie die Verwendung der StreamTokenizer- Klasse oder einer leistungsfähigeren Bibliothek wie Apache Commons Lang in Betracht ziehen. Denken Sie daran, bei der Entscheidung, welche Werkzeuge und Techniken Sie verwenden möchten, stets die spezifischen Anforderungen Ihres Projekts zu berücksichtigen. Mit einem soliden Verständnis der String-Manipulationsklassen und -Methoden von Java können Sie selbst die komplexesten String-Manipulationsaufgaben problemlos bewältigen.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION