Java - 在扫描程序中使用多个分隔符 [英] Java - Using multiple delimiters in a scanner
问题描述
我正在使用扫描仪接收输入,并希望将其拆分为块。我希望它使用全字分隔符将其拆分。所以现在我有:
I'm using a scanner to take input and, hopefully, split it into chunks. I want it to split it up using whole word delimiters. So right now I have:
Scanner scanner = new Scanner("1 imported bottle of perfume at 27.99");
scanner.useDelimiter("\\sdelimitOne\\s");
因此输入word word delimitOne word word delimitTwo word word我得到输出:
So with input "word word delimitOne word word delimitTwo word word" I get output:
word word
word word delimitTwo word word
我希望
scanner.useDelimiter("\\sdelimitOne\\s\\sdelimitTwo\\s");
可能有效,但不是。
我如何实现以下输出:
word word
word word
word word
?
推荐答案
来自维基百科:
| :选择(也就是交替或设置联合)运算符匹配运算符之前的表达式或运算符之后的表达式。例如,abc | def匹配abc或def。
| : The choice (aka alternation or set union) operator matches either the expression before or the expression after the operator. For example, abc|def matches "abc" or "def".
所以, scanner.useDelimiter( \\sdelimitOne \\\\ | \\sdelimitTwo \\\\);
就是您所需要的。
so, scanner.useDelimiter("\\sdelimitOne\\s|\\sdelimitTwo\\s");
is what you need.
这篇关于Java - 在扫描程序中使用多个分隔符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!