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.
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.
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.
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.
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