Свинья латынь - это способ изменения английских sh слов. Правила таковы:
Если слово начинается с согласного, возьмите первый согласный или группу согласных, переместите его в конец слова и добавьте к нему «ay» .
Если слово начинается с гласной, просто добавьте «путь» в конце.
Возможное решение:
function translatePigLatin(str) {
if (!/[aeiou]/.test(str)) { // if it does not contain vowels
return str + "ay";
} else if (/^[aeiou]/.test(str)) { // if it starts with a vowel
return str + "way";
} else { // if it starts with a consonant and has vowels
let regx = /(.*?)([aeiou])(.*)/i;
return str.replace(regx, "$2$3$1ay");
}
}
console.log(translatePigLatin("pig")); // igpay
console.log(translatePigLatin("rythm")); // rythmay
console.log(translatePigLatin("consonant")); // onsonantcay
Регулярное выражение /(.*?)([aeiou])(.*)/i
означает:
(.*?)
соответствует минимально возможным символам
([aeiou])
, за которыми следует символ гласные и
(.*)
, за которыми следует остальная часть строки.
Используя скобки, мы создаем обратные ссылки $1
, $2
, $3
, в которых будут храниться все эти значения для последующего использования с методом replace .