«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как Java Scanner.useDelimiter() работает с регулярными выражениями?

Как Java Scanner.useDelimiter() работает с регулярными выражениями?

Опубликовано 25 декабря 2024 г.
Просматривать:697

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

Понимание разделителей с помощью Scanner.useDelimiter в Java

Класс Scanner в Java предоставляет метод useDelimiter, позволяющий указать разделитель (символ или шаблон), который разделяет жетоны. Однако использование разделителей может сбить с толку новичков. Давайте разберем это более простыми словами.

Рассмотрим фрагмент:

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

В этом примере разделитель определяется как комбинация запятой (",") и возврата каретки, за которой следует символ новой строки ("\ р\н"). Сканер будет использовать этот разделитель для разделения токенов в файле данных.

Понимание регулярных выражений

Разделитель, который вы указываете в useDelimiter, является регулярным выражением. Регулярные выражения — это шаблоны, используемые для сопоставления символов или последовательностей. Разделитель ",|\r\n" указывает, что токен заканчивается запятой или возвратом каретки, за которым следует новая строка.

Пример

Давайте рассмотрим пример:

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();

В этом примере разделителем является "\sfish\s." \\s* указывает, что до или после слова «рыба» может быть любое количество пробелов (включая ноль). Это означает, что сканер будет сопоставлять и извлекать токены, такие как «1 рыба», «2 рыбы» и т. д.

Заключение

Помните, что при использовании useDelimiter в Java важно понимать регулярные выражения. В Интернете можно найти подробные руководства, которые помогут расширить ваши знания о шаблонах регулярных выражений. При правильном понимании разделителей и регулярных выражений вы сможете эффективно анализировать и извлекать данные из текстовых файлов с помощью класса Scanner.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3