Как мне взять ведущие согласные и переместить их в конец строки? - PullRequest
0 голосов
/ 23 февраля 2020

Код, который я делаю, таков: если слово начинается с согласного, оно переводит все ведущие согласные в конец слова и добавляет «ау». Например, «привести» к «ingbray».

1 Ответ

0 голосов
/ 23 февраля 2020

Вы можете использовать регулярное выражение для сопоставления с ведущими согласными:

String pigLatin = str.replaceAll("(?i)(^[^aeiou]+)(.*)", "$2$1ay");

Разбить это:

  • (?i) = игнорировать регистр
  • [^aeiou] = любой не гласный
  • [^aeiou]+ = 1 или более не гласных («жадное» совпадение - ie как можно больше)
  • (^[^aeiou]+) = 1 или более не -головки, привязанные к началу, захваченные как группа 1
  • (.*) любые другие символы, захваченные как группа 2

и замена:

  • $2 группа 2
  • $1 группа 1
  • ay буквальный "ай"
...