String-Tokenizer
Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy. Lektion 48 von 59.
StringTokenizer wird verwendet, um eine Zeichenfolge anhand eines Trennzeichens in Tokens (kleinere Teile) aufzuteilen. Standardmäßig verwendet es Leerraum als Trennzeichen.
Erstelle einen StringTokenizer mit dem Standardtrennzeichen (Leerzeichen):
StringTokenizer st = new StringTokenizer("Hello World Java");Um anhand eines anderen Zeichens zu trennen, übergib es als zweites Argument. Jedes Zeichen in dieser Zeichenfolge ist für sich ein Trennzeichen:
StringTokenizer st = new StringTokenizer("one,two;three", ",;");
System.out.println(st.countTokens()); // Gibt aus: 3Tokens zählen und abrufen:
int count = st.countTokens();
// Ermittelt die Anzahl der Tokens
String first = st.nextToken();
// Ruft das nächste Token abNach der Ausführung des obigen Codes enthalten die Variablen:
count: 3
first: "Hello"Wichtig: Tokens werden verbraucht!
Wenn du nextToken() aufrufst, entfernt es dieses 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: 1Tipp: Wenn du die Gesamtzahl der Tokens wissen musst, rufe countTokens() auf, bevor du Tokens verbrauchst. Verwende hasMoreTokens(), um während der Iteration zu prüfen, ob weitere Tokens verfügbar sind.
Aufgabe
EinfachErstelle eine Methode namens tokenizeText, die zwei Argumente entgegennimmt:
- Einen String (
text), der tokenisiert werden soll - Einen String (
delimiter), anhand dessen aufgeteilt werden soll
Die Methode soll:
- Einen StringTokenizer mit dem angegebenen Text und Trennzeichen erstellen
- Einen String zurückgeben, der die Anzahl der Tokens gefolgt von jedem Token in einer neuen Zeile enthält
Die Rückgabemeldungen sollen lauten:
- Wenn text null ist: "Invalid text" zurückgeben
- Wenn delimiter null ist: ein Leerzeichen als Trennzeichen verwenden
- Format: "Token count: X\nToken: token1\nToken: token2\n..."
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));
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap5HashSet Teil 2
Mathematik - Vereinigung von HashSetsMathematik - Schnittmenge von HashSetsMathematik - Mengen-DifferenzMathematik - Symmetrische DifferenzUnter- und ObermengenIterieren über Mengen8Fortgeschrittene String-Operationen
StringBuilder-GrundlagenStringBuffer-EinführungGrundlagen regulärer AusdrückeMusterabgleich mit RegexString-TokenizerFortgeschrittene String-Formatierung3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitungÜbe selbstständig: Online-Java-Compiler