【问题标题】:Java - Using multiple delimiters in a scannerJava - 在扫描仪中使用多个分隔符
【发布时间】:2011-06-05 17:46:20
【问题描述】:

我正在使用扫描仪来获取输入,并希望将其分成块。我希望它使用整个单词分隔符将其拆分。所以现在我有:

    Scanner scanner = new Scanner("1 imported bottle of perfume at 27.99");
    scanner.useDelimiter("\\sdelimitOne\\s");

所以输入“word word delimitOne word word delimitTwo word word”我得到输出:

word word
word word delimitTwo word word

我希望

    scanner.useDelimiter("\\sdelimitOne\\s\\sdelimitTwo\\s");

可能有效,但可惜不行。

如何实现以下输出:

word word
word word
word word

?

【问题讨论】:

    标签: java java.util.scanner delimiter


    【解决方案1】:

    来自维基百科:

    | :选择(又名交替或集合并集)运算符匹配运算符之前的表达式或运算符之后的表达式。例如,abc|def 匹配“abc”或“def”。

    所以,scanner.useDelimiter("\\sdelimitOne\\s|\\sdelimitTwo\\s"); 就是您所需要的。

    【讨论】:

    • 啊太棒了,我希望它会是一些如此愚蠢的遗漏。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    相关资源
    最近更新 更多