Heim > Java > javaLernprogramm > Hauptteil

Wie kann Javas „Scanner.useDelimiter()' mit regulären Ausdrücken verwendet werden, um Eingaben aufzuteilen?

Barbara Streisand
Freigeben: 2024-11-26 00:08:11
Original
161 Leute haben es durchsucht

How Can Java's `Scanner.useDelimiter()` Be Used with Regular Expressions to Split Input?

Scanner.useDelimiter mit regulären Ausdrücken verstehen

In der Scanner-API von Java können Sie mit der Methode useDelimiter() ein Trennzeichen zum Teilen angeben Geben Sie Text in Token ein. Es können jedoch auch andere Trennzeichen als Leerzeichen verwendet werden, was ein Verständnis der Muster regulärer Ausdrücke (Regex) erfordert.

Regex-Muster in useDelimiter()

So verwenden Sie ein Trennzeichen mit Wenn Sie Delimiter() verwenden, müssen Sie ein Regex-Muster bereitstellen. Dieses Muster definiert die Zeichen oder Sequenzen, die die Token trennen sollen.

Der folgende Codeausschnitt verwendet beispielsweise das Trennzeichen „|,|rn“, um die Eingabe basierend auf Kommas (",") oder neuen Zeilen aufzuteilen (rn):

sc = new Scanner(new File(dataFile));
sc.useDelimiter(",|\r\n");
Nach dem Login kopieren

Das bedeutet, dass der Scanner Kommas und neue Zeilen als Trennzeichen behandelt und die Eingabe aufteilt Tokens.

Beispiele

Um zu veranschaulichen, wie useDelimiter() mit Regex-Mustern funktioniert, betrachten Sie das folgende Beispiel:

String input = "1 fish 2 fish red fish blue fish";

// Use "\s*fish\s*" as the delimiter to split the input
Scanner s = new Scanner(input).useDelimiter("\s*fish\s*");

System.out.println(s.nextInt());   // prints: 1
System.out.println(s.nextInt());   // prints: 2
System.out.println(s.next());      // prints: red
System.out.println(s.next());      // prints: blue
Nach dem Login kopieren

Hier das Trennzeichen „sfishs“ entspricht 0 oder mehr Wiederholungen von Leerzeichen („s*“), gefolgt vom Wort „fish“ und wieder 0 oder mehr Wiederholungen von Leerzeichen. Dadurch wird die Eingabe anhand des Trennzeichens in Token aufgeteilt und der Scanner kann die gewünschten Werte extrahieren.

Zusätzliche Ressourcen

Weitere Informationen zu useDelimiter( ) und Regex-Muster finden Sie in den folgenden Ressourcen:

  • Scanner-API: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
  • Regex-Tutorial: https://www.vogella.com/tutorials/JavaRegularExpressions/article. html
  • Regex-Kurzreferenz: https://www.regular-expressions.info/quickref.html

Das obige ist der detaillierte Inhalt vonWie kann Javas „Scanner.useDelimiter()' mit regulären Ausdrücken verwendet werden, um Eingaben aufzuteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage