„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie funktioniert Scanner.useDelimiter() von Java mit regulären Ausdrücken?

Wie funktioniert Scanner.useDelimiter() von Java mit regulären Ausdrücken?

Veröffentlicht am 25.12.2024
Durchsuche:379

How Does Java\'s Scanner.useDelimiter() Work with Regular Expressions?

Trennzeichen mit Scanner.useDelimiter in Java verstehen

Die Scanner-Klasse in Java stellt die Methode useDelimiter bereit, mit der Sie ein Trennzeichen (ein Zeichen oder Muster) angeben können, das trennt Token. Allerdings kann die Verwendung von Trennzeichen für Anfänger verwirrend sein. Lassen Sie es uns in einfacheren Worten aufschlüsseln.

Bedenken Sie den Ausschnitt:

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

In diesem Beispiel ist das Trennzeichen als eine Kombination aus einem Komma (",") und einem Wagenrücklauf gefolgt von einem Zeilenumbruch ("\) definiert. r\n"). Der Scanner verwendet dieses Trennzeichen, um Token in der Datendatei zu trennen.

Grundlegende reguläre Ausdrücke

Das Trennzeichen, das Sie in useDelimiter angeben, ist ein regulärer Ausdruck. Reguläre Ausdrücke sind Muster, mit denen Zeichen oder Sequenzen abgeglichen werden. Das Trennzeichen „,|\r\n“ gibt an, dass ein Token entweder mit einem Komma oder einem Wagenrücklauf gefolgt von einer neuen Zeile endet.

Ein Beispiel

Nehmen wir ein Beispiel:

String input = "1 fish 2 fish red fish blue fish";
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
s.close();

In diesem Beispiel ist das Trennzeichen „\sfish\s.“ Das \\s* gibt an, dass vor oder nach dem Wort „fish“ beliebig viele Leerzeichen (einschließlich Null) stehen können. Das bedeutet, dass der Scanner Token wie „1 Fisch“, „2 Fische“ usw. abgleicht und extrahiert.

Schlussfolgerung

Denken Sie daran, dass es bei der Verwendung von useDelimiter in Java wichtig ist, die Funktion „regulär“ zu verstehen Ausdrücke. Im Internet finden Sie ausführliche Tutorials, mit denen Sie Ihr Wissen über Regex-Muster erweitern können. Mit einem richtigen Verständnis von Trennzeichen und regulären Ausdrücken können Sie mithilfe der Scanner-Klasse Daten effizient aus Textdateien analysieren und extrahieren.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3