2011-02-04 5 views

ответ

6

Как насчет useDelimiter(",|\\n");

+0

Что делает первый? – tomejuan

+3

Он ускользает от второго. Regex использует \ n для обозначения новой строки, но так же делает Java, поэтому вы пишете \\ n, которая переводится в \ n для регулярного выражения. –

+0

Удивительно, почему томежуан не ответил. Может быть, «ускользает», «регулярное выражение» или объяснение о втором «\». – DSlomer64

14
Scanner s = new Scanner("hello, world \n hello world"); 
s.useDelimiter(",|\\n"); 
while(s.hasNext()){ 
      System.out.println(s.next()); 

} 

Выход

hello 
world 
hello world 
+0

JavaDoc абсолютно не помогает tomejuan. – DSlomer64

1

useDelimiter принимает шаблон регулярного выражения, поэтому, это было бы что-то вроде ",|\n"

0

Jigar абсолютно прав. Но если это не сработает, попробуйте ",|\\r"

, так как большинство текстовых файлов имеют \ г \ п, а не только \ п

0

Использования сканирования разделителей для файлов Excel - не упускать из вида RegEx вещи. В моем случае файл excel делится на '|'. Я потратил значительное время на синтаксический анализ строк, используя scanner.useDelimiter ("|"), и вернул символ по символу. Замена этого с помощью scanner.useDelimiter («\\ |») решила мою проблему!

Смежные вопросы