Недавно я решил купить поваренную книгу regex от Jan Goyvaerts и Steven Levithan и выучить ее, потому что я новичок в Java, и регулярные выражения для меня - настоящий ад.Чтобы немного попрактиковаться, я взял задачу, которая помечена как «Декларативное программирование» и «Регулярные выражения» на Codewars:
Напишите функцию, которая принимает строку и заменяет все гласные [a,e, i, o, u] с соответствующими позициями в этой строке.
От 6 до 8 часов чтения книги и попытки достичь результата ни к чему не привели, поэтому я открыл для себя публичные решения.Угадайте, что я нашел?Большинство проголосовавших решений были простыми и понятными
for i=0 to str.length-1
if the letter with index i is vowel, replace it
Это «Декларативное программирование» и «Regex»?
В информатике декларативное программирование - это парадигма программирования - стильпостроение структуры и элементов компьютерных программ, которые выражают логику вычислений без описания потока управления.(Wiki)
Я что-то упустил?Я попробовал Pattern, Matcher и regex, но из-за недостатка опыта ничего не вышло, в основном потому, что indexOf()
не может принять регулярное выражение в качестве параметра, который является "(?i)[aeiou]"
.
Ссылка на задачу наКодовые войны, если необходимо
ОБНОВЛЕНИЕ: Возможно, даже "(? I) [aeiou] {1}" или что-то в этом роде.