2015-04-20 2 views
1

Я пытаюсь прочитать этот шаблон ... Что такое Scanner.useDelimiter?Regex Java Scanner Delimiter

Этот вход:

489 490-1; 491-1; 492-1; 493-1; 494-1; 495-1; 496-1; 497-1; 498-1; 499-1; 500-1;
490 491-1; 492-1; 493-1; 494-1; 495-1; 496-1; 497-1; 498-1; 499-1; 500-1;
491 492-1; 493-1; 494-1; 495-1; 496-1; 497-1; 498-1; 499-1; 500-1;
492 493-1; 494-1; 495-1; 496-1; 497-1; 498-1; 499-1; 500-1;
493 494-1; 495-1; 496-1; 497-1; 498-1; 499-1; 500-1;
494 495-1; 496-1; 497-1; 498-1; 499-1; 500-1;
495 496-1; 497-1; 498-1; 499-1; 500-1;
496 497-1; 498-1; 499-1; 500-1;
497 498-1; 499-1; 500-1;

что мне нужно выхода, как:

Я попробовал этот ограничитель, но он не работает:
Scanner(readerFile).useDelimiter("\\s*-\\s*|;\\s*|\\s*");

ответ

3

Основная идея, кажется, разделить на все, что не является числовым, поэтому попробуйте:

Scanner(readerFile).useDelimiter("[^0-9]+"); 
+0

один вопрос, если я не хочу идти на следующей строке, например, 3, 4, 5 \ п 2, 3, 2 \ п и я хочу поставить 3 в одной переменной и 4, 5 в одной коллекции, а затем 2 в переменной и 3, 2 в одной коллекции. Если мой разделитель переходит к следующей строке, он помещает все в одну и ту же переменную. –

+0

srry, я нажимаю Enter до завершения ^^ –

+0

Я думаю, что лучше спросить новый вопрос об этом. Даже если бы я точно понял, что вам нужно, было бы трудно ответить на этот вопрос в комментарии. –