正则表达式Java扫描仪分隔符

时间:2015-04-20 02:42:27

标签: java regex java.util.scanner

我正在尝试阅读这种模式......对此Scanner.useDelimiter是什么?

此输入为:

  

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;

我需要输出的是:

  

489

     

490

     

1

     

491

     

1

     

492

     

1

     

493

     

1

我试过这个分隔符,但它没有工作:
Scanner(readerFile).useDelimiter("\\s*-\\s*|;\\s*|\\s*");

1 个答案:

答案 0 :(得分:3)

基本想法似乎是拆分任何非数字的东西,所以试试这个:

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