Java - 在扫描程序中使用多个分隔符 [英] Java - Using multiple delimiters in a scanner

查看:138
本文介绍了Java - 在扫描程序中使用多个分隔符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆