javascript - 使用 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>
解决方案
您可以使用正则表达式来检查整个单词匹配,并用所需的“替换”单词替换单词。
<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>
推荐阅读
- python - 无法运行烧瓶服务器的 pyinstaller 可执行文件。ValueError:找不到语言“ru”的字典
- c++ - Visual Studio Code 中的详细模式构建 C/C++ 文件
- python - 在pycharm中调试pytorch代码(可行性)
- javascript - Chrome 的 javascript 调试器与互联网上大多数文章的对比?
- c++ - physx 多线程复制转换数据
- python - 字典中不存在键
- php - 在 php mysql 查询中转义撇号
- heroku - 嗨,我实际上试图在 heroku 上部署我的应用程序,它说构建成功,但是如果运行该链接,它会说应用程序错误。我使用 node.js
- database - 如何从不起眼的 Windows 7 程序中抓取数据?
- java - SiddhiRuntime 泄漏