Используя класс Scanner, как я могу вести подсчет количества вхождений разделителя с начала новой строки? - PullRequest
0 голосов
/ 04 октября 2019

Я новичок в Java и пытаюсь написать программу для поиска определенного строкового значения в документах CSV, которые используют разделитель (|) в качестве разделителя (только с использованием ядра Java, поэтому нет библиотеки CSVreader). Мне нужно найти определенную строку «Имя сотрудника» в CSV-документах, но, поскольку они имеют непоследовательный формат, я хочу, чтобы программа по существу использовала искомую строку («Имя сотрудника») в качестве заголовка столбца и возвращала все значения вдо тех пор, пока он не достигнет нулевого значения в конце списка (количество элементов, которое будет в указанном столбце, неизвестно).

Я планировал использовать класс Scanner с серией циклов, чтобы сохранитьотслеживать количество вхождений разделителя в строке (то есть перезапуск счетчика после каждого переноса строки), чтобы я мог использовать относительное местоположение искомой строки, чтобы извлечь значения под ней, которые были бы частью ее как «столбец»,(Таким образом, если в строке 4 было найдено 3 разделителя до того, как «Имя сотрудника» было найдено, программа будет возвращать значения поля, в котором находятся 3 разделителя для строки 5, строки 6, строки 7 и т. Д., Пока не достигнет нулевого значения водна из строк.

Sidenote: Я пытаюсь разрешить поисковому термину разрешить использование пробелов (например, в случае «Имя сотрудника», поэтому я использовал пользовательский разделитель:

scanner.UseDelimiter ("[| \ r \ n]")

Если это регулярное выражение не подходит для задачи, которую я пытаюсь выполнить, сообщите мне.

Iбуду искренне признателен за любые предложения или рекомендации по решению этой проблемы.

...