Menu
Coddy logo textTech

String-Tokenizer

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 48 von 59.

StringTokenizer wird verwendet, um eine Zeichenkette in Token (kleinere Teile) basierend auf einem Trennzeichen zu zerlegen. Standardmäßig verwendet es Leerzeichen als Trennzeichen.

Erstellen Sie einen StringTokenizer mit Standard-Delimiter (Leerzeichen):

StringTokenizer st = new StringTokenizer("Hello World Java");

Token zählen und abrufen:

int count = st.countTokens();
// Ermittelt die Anzahl der Token
String first = st.nextToken();
// Ermittelt das nächste Token

Nach der Ausführung des obigen Codes enthalten die Variablen:

count: 3
first: "Hello"

Wenn Sie nextToken() aufrufen, entfernt es dieses Token aus dem Tokenizer. Die countTokens()-Methode gibt die Anzahl der verbleibenden Tokens zurück.

StringTokenizer st = new StringTokenizer("Hello World Java");
System.out.println(st.countTokens());  // Gibt aus: 3

st.nextToken();  // Verbraucht "Hello"
System.out.println(st.countTokens());  // Gibt aus: 2 (nicht 3!)

st.nextToken();  // Verbraucht "World"
System.out.println(st.countTokens());  // Gibt aus: 1

Tipp: Wenn Sie die Gesamtzahl der Token wissen möchten, rufen Sie countTokens() auf, bevor Sie Token verbrauchen. Verwenden Sie hasMoreTokens(), um zu überprüfen, ob während der Iteration weitere Token verfügbar sind.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens tokenizeText, die zwei Argumente annimmt:

  1. Ein String (text) zum Tokenisieren
  2. Ein String (delimiter) zum Splitten

Die Methode sollte:

  1. Einen StringTokenizer mit dem gegebenen Text und Trennzeichen erstellen
  2. Einen String zurückgeben, der die Token-Anzahl gefolgt von jedem Token in einer neuen Zeile enthält

Die Rückgabemeldungen sollten sein:

  • Wenn text null ist: geben Sie "Invalid text" zurück
  • Wenn delimiter null ist: verwenden Sie Leerzeichen als Trennzeichen
  • Format: "Token count: X\nToken: token1\nToken: token2\n..."

Spickzettel

StringTokenizer zerlegt einen String in Tokens (kleinere Teile) basierend auf einem Delimiter. Standardmäßig verwendet es Leerzeichen als Delimiter.

Erstellen Sie einen StringTokenizer mit Standard-Delimiter (Leerzeichen):

StringTokenizer st = new StringTokenizer("Hello World Java");

Tokens zählen und abrufen:

int count = st.countTokens();  // Ermittelt die Anzahl der Tokens
String first = st.nextToken(); // Ermittelt den nächsten Token

StringTokenizer mit benutzerdefiniertem Delimiter erstellen:

StringTokenizer st = new StringTokenizer(text, delimiter);

Wenn Sie nextToken() aufrufen, entfernt es diesen Token aus dem Tokenizer. Die Methode countTokens() gibt die Anzahl der verbleibenden Tokens zurück.

StringTokenizer st = new StringTokenizer("Hello World Java");
System.out.println(st.countTokens());  // Gibt aus: 3

st.nextToken();  // Verbraucht "Hello"
System.out.println(st.countTokens());  // Gibt aus: 2 (nicht 3!)

st.nextToken();  // Verbraucht "World"
System.out.println(st.countTokens());  // Gibt aus: 1

Tipp: Wenn Sie die Gesamtzahl der Tokens wissen möchten, rufen Sie countTokens() auf, bevor Sie Tokens verbrauchen. Verwenden Sie hasMoreTokens(), um zu überprüfen, ob weitere Tokens verfügbar sind, während Sie iterieren.

Probier es selbst

import java.util.Scanner;
import java.util.StringTokenizer;

public class Main {
    public static String tokenizeText(String text, String delimiter) {
        // Schreibe deinen Code hier
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String text = scanner.nextLine();
        String delimiter = scanner.nextLine();
        
        if (text.equals("null")) text = null;
        if (delimiter.equals("null")) delimiter = null;
        
        System.out.println(tokenizeText(text, delimiter));
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf