首页 > 解决方案 > 使用 replace + function + match 参数替换整个单词

问题描述

从文本“myWord Word”中,我想使用函数替换和匹配参数来获取“myWord Replaced”。所以我写了下面的代码,但我得到的是“myReplaced Word”而不是“myWord Replaced”。由于我无法很好地理解 match 参数的机制,请有人帮助我。谢谢你们。

<div id="myView"></div>

<script>
    vText = "myWord Word";
    vWord = "Word";

    vText = vText.replace('Word', function(match) {
        if (match == vWord) {
           return 'Replaced';
        } else {
            return match;
        }
    })

    document.getElementById("myView").innerHTML = vText;
</script>

标签: javascript

解决方案


您可以使用正则表达式来检查整个单词匹配,并用所需的“替换”单词替换单词。

<div id="myView"></div>

<script>
    vText = "myWord Word";
    vWord = "Word";
    var regex = new RegExp('\\b' + vWord + '\\b', "g");
    var vText = ("myWord Word").replace(regex,"Replaced");

    document.getElementById("myView").innerHTML = vText;

</script>

推荐阅读