【问题标题】:Regex Java Scanner Delimiter正则表达式 Java 扫描仪分隔符
【发布时间】:2015-06-26 15:00:50
【问题描述】:

我正在尝试阅读此模式...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*");

【问题讨论】:

    标签: java regex java.util.scanner


    【解决方案1】:

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

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

    【讨论】:

    • 一个问题,如果我不想进入下一行,例如 3, 4, 5 \n 2, 3, 2 \n 并且我想将 3 放入一个变量中和 4, 5 在一个集合中,然后在变量中 2 和 3, 2 在一个集合中。如果我的分隔符转到下一行,他会将所有内容放在同一个变量中。
    • srry,我在完成之前按 Enter ^^
    • 我认为如果您对此提出一个新问题会更好。即使我完全了解您的需求,也很难在评论中给出答案。
    猜你喜欢
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 1970-01-01
    相关资源
    最近更新 更多