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");
So with input "word word delimitOne word word delimitTwo word word" I get output:
word word
word word delimitTwo word word
I was hoping
scanner.useDelimiter("\\sdelimitOne\\s\\sdelimitTwo\\s");
might work, but alas not.
How do I go about achieving the following output:
word word
word word
word word
?
In order to break String into tokens, you need to create a StringTokenizer object and provide a delimiter for splitting strings into tokens. You can pass multiple delimiters e.g. you can break String into tokens by, and: at the same time. If you don't provide any delimiter then by default it will use white-space.
The delimiter() is a method of Java Scanner class which is used to get the Pattern which the Scanner class is currently using to match delimiters.
You can create only one scanner object and use it any where else in this class. Why you need multiple Scanner? You can do with only one..
From wikipedia :
| : 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".
so, scanner.useDelimiter("\\sdelimitOne\\s|\\sdelimitTwo\\s");
is what you need.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With