Wenn Sie die Scanner-Klasse zum Parsen einer Datei verwenden, kann es vorkommen, dass useDelimiter()-Methode, aber ihr Verhalten kann verwirrend sein. Dieser Artikel bietet eine vereinfachte Erklärung, wie Trennzeichen in Verbindung mit der Scanner-Klasse funktionieren.
Die Scanner-Klasse kann bei Verwendung zum Parsen von Eingaben für die Verwendung konfiguriert werden ein bestimmtes Zeichen oder Muster als Trennzeichen. Standardmäßig dienen Leerzeichen (z. B. Leerzeichen, Tabulatoren und Zeilenumbrüche) als Trennzeichen. Sie können jedoch Ihr eigenes Trennzeichen mit der Methode useDelimiter() angeben.
Betrachten Sie beispielsweise den folgenden Code:
Scanner sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
In diesem Beispiel , ist das angegebene Trennzeichen ein Komma (",") oder ein Wagenrücklauf, gefolgt von einem Zeilenumbruch ("rn"). Dies bedeutet, dass der Scanner jedes Vorkommen eines Zeichens oder der Kombination als Trennzeichen behandelt.
Um zu veranschaulichen, wie dies funktioniert, betrachten Sie die folgende Eingabezeichenfolge:
1 fish 2 fish red fish blue fish
Bei der Verarbeitung mit dem Scanner-Objekt, das mit dem angegebenen Trennzeichen konfiguriert ist, wird die Eingabe wie folgt in Token aufgeteilt:
1 2 red blue
Das in useDelimiter angegebene Trennzeichen () kann reguläre Ausdrücke (Regex) enthalten. Reguläre Ausdrücke sind eine prägnante und leistungsstarke Möglichkeit, komplexe Muster in Texten zu definieren. Der im obigen Beispiel verwendete reguläre Ausdruck „,|rn“ entspricht entweder einem Komma oder einem Zeilenumbruch.
Das obige ist der detaillierte Inhalt vonWie funktioniert Javas „Scanner.useDelimiter()' mit regulären Ausdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!