Java - использование нескольких разделителей в сканере

Я использую сканер для ввода ввода и, надеюсь, разбил его на куски. Я хочу, чтобы он разделил его, используя целые разделители слов. Поэтому прямо сейчас у меня есть:

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

Итак, с вводом "слово слово delimitOne слово слово delimitTwo слово слово" Я получаю вывод:

word word
word word delimitTwo word word

Я надеялся

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

может работать, но, увы, не.

Как мне достичь следующего результата:

word word
word word
word word

?

Ответы

Ответ 1

Из Википедии:

|: Оператор выбора (aka alternation или set union) соответствует либо выражению before, либо выражению после оператора. Например, abc | def соответствует "abc" или "def".

поэтому scanner.useDelimiter("\\sdelimitOne\\s|\\sdelimitTwo\\s"); - это то, что вам нужно.