【发布时间】:2019-04-07 09:53:45
【问题描述】:
在工作中,我们使用了一个自定义 JavaScript 引擎,该引擎出于性能原因禁用了正则表达式。
在过去的几个小时里,我一直被这个问题困扰。我为这篇文章简化了它。假设我有这个字符串:
var str = "nice weather, nice car, nice clothes, nice tv";
我想将所有出现的“nice”替换为“ugly”。
JavaScript 的 replace() 函数就是这样做的——它将“nice”替换为“ugly”,但问题在于——如果我这样做了 str.replace("nice", "ugly"),那么 JavaScript 只会将第一次出现的“nice”替换为“ugly”。
我知道替换所有匹配项的解决方案是使用诸如/nice/g 之类的正则表达式进行全局匹配并将其作为str.replace(/nice/g, "ugly") 运行,但就我而言,我不能使用正则表达式(因为提到我们使用禁用正则表达式引擎的自定义 JavaScript 引擎。)
底线是:
我不知道如何用 replace() 函数替换字符串。我该怎么做?
【问题讨论】:
-
我是这个网站的新手,我不知道我只有一次提问的机会:(
标签: javascript regex string replace substring