首页 > 解决方案 > 如何编写一个函数,将句子中每个单词开头的所有辅音字符串转换为“r”,直到它变成元音?

问题描述

史酷比挑战

您需要编写一个函数来替换单词开头的所有辅音,直到它遇到带有“r”的元音。例如,单词“ scooby ”会变成“ rooby ”,“<strong>xylophone”会变成“<strong>rophone”</p>

这是我正在使用的功能,但它只对我句子中的一个单词起作用。我怎样才能让它对每个单词都起作用。

function scooby_doo () {
    if (text.value.length == 0) {
        result.value = "no input given!";
    } else if (text.value.length > 0) {
        var set = text.value.split(" ");
        for (i = 0; i < set.length; i++) {
            result.value = set[i].replace (/^[^aeiou]+/i, "r");
        }
     } else {
        result.value = "";
    }
    return;
}

标签: javascriptuser-defined-functions

解决方案


我相信您可以在没有显式循环的情况下实现这一目标:

str = 'scooby doo loves his xylophone show';
str.replace(/(^| |\n)[^aeiou]+/ig, '$1r');
// outputs "rooby roo roves ris rophone row"

这是您正在寻找的输出吗?


推荐阅读