Java - 在扫描程序中使用多个分隔符

时间:2011-06-05 17:46:20

标签: java java.util.scanner delimiter

我正在使用扫描仪接收输入,并希望将其拆分为块。我希望它使用全字分隔符将其拆分。所以现在我有:

    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

1 个答案:

答案 0 :(得分:20)

来自维基百科:

  

| :选择(也就是交替或设置联合)运算符匹配运算符之前的表达式或运算符之后的表达式。例如,abc | def匹配“abc”或“def”。

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