Разделение строки с помощью гласного или группы символов - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь использовать регулярное выражение для разделения строки с помощью гласного или специального символа.

  • Ввод: maxtin'asiiro
  • Ожидаемый вывод: [ ma, xti, n', a, si, i, ro]

Сейчас мне удалось разделить строку с помощью гласных.

Arrays.toString(word.split("(?<=[aeiou])")));

Однако я не знаю, как я могу включить специальный символ n' в регулярное выражение, чтобы получить вышеуказанный вывод.

Примечание: n' здесь следует рассматривать как отдельный специальный символ при разбиении.

Я попробовал следующее, но это не с ошибочным выводом.

Arrays.toString(word.split("(?<=[aeiou(n')])")));

Может кто-нибудь дать мне указатель здесь?

Ответы [ 3 ]

0 голосов
/ 03 июня 2018

В отличие от указания вхождения n', я бы выбрал более общий подход, включающий любую букву перед символом '.

String word = "maxtin'asiiro";
String split[] = word.split("(?<=[aeiou]|[a-zA-Z]')");

Результат в [ma, xti, n', a, si, i, ro]

Обратите внимание:

  • | работает как или оператор токенов между () скобками
  • [a-zA-Z]' означает any буква и ' символ

Демонстрационная версия ar Regex101 .Обратите внимание на фиолетовые разделители между символами сразу после гласной или буквы, за которой следует символ '.

0 голосов
/ 04 июня 2018

Добавляя к ответу Николаса, если вы хотите разделить после гласных или любого символа, за которым следует символ ', вы также можете проверить следующее с вашей входной выборкой:

String word = "maxtin'asiiro";
String split[] = word.split("(?<=[aeiou'])");

Единственная разница будет, если'это первый символ

0 голосов
/ 03 июня 2018

Если n' - единственная специальная последовательность, которую вы хотите использовать для разделения, вы можете попробовать разделить чередование:

String word = "maxtin'asiiro";
System.out.println(Arrays.toString(word.split("(?<=[aeiou]|n')")));

[ma, xti, n', a, si, i, ro]

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...