Как использовать метод useDelimiter() класса Scanner для использования в качестве разделителей запятой (,) и символа новой строки (\ n)?
useDelimiter()
Scanner
Я анализирую некоторый текст из CSV-файла.
Scanner s = new Scanner("hello, world \n hello world"); s.useDelimiter(",|\\n"); while(s.hasNext()){ System.out.println(s.next()); }
выход
hello world hello world
Как насчет useDelimiter(",|\\n");
useDelimiter(",|\\n");
useDelimiter принимает шаблон регулярного выражения, поэтому это будет что-то вроде ",|\n"
",|\n"
Использование Scan Delimiters для файлов Excel - не забывайте о RegEx.В моем случае файл excel ограничивается символом '|'.Я тратил значительное время на синтаксический анализ строк с помощью scanner.useDelimiter ("|") и получал символ за символом.Замена на scanner.useDelimiter ( "\\ |" ) решила мою проблему!
Джигар абсолютно прав.Но если это не сработает, попробуйте ",|\\r"
",|\\r"
, так как большинство текстовых файлов имеют \ r \ n вместо \ n