用另一个字符串替换字符串中的单词 - Javascript

时间:2018-03-24 17:10:59

标签: javascript replace str-replace

有没有人知道任何正则表达式,我可以用另一个字符串替换字符串中的单词?

var replacement = "car";
var toReplace = "boat";
var str = "banana boats or boat"
str = str.replace(toReplace, replacement);

我希望str等于"香蕉船或汽车"而不是"香蕉汽车或汽车"

有什么建议吗?

4 个答案:

答案 0 :(得分:2)

您可以使用单词边界var replacement = "car", toReplace = "boat", str = "banana boats or boat"; str = str.replace(new RegExp('\\b' + toReplace + '\\b', 'g'), replacement); console.log(str);来替换整个单词,而不是替换新创建的正则表达式中单词的一部分。



{{1}}




答案 1 :(得分:1)

多个匹配需要global标志。所以将其作为替换正则表达式传递:

new RegExp(toReplace, "g")

答案 2 :(得分:1)

replace仅替换toReplace中搜索字符串str第一个实例。

要替换toReplacestr所有实例,请使用RegEx对象和g(全局)标记{{1} }}作为搜索字符串:

toReplace

答案 3 :(得分:0)

你的问题不清楚,因为 str 在更改之前默认已经等于“香蕉船或船”! ...但如果你坚持,你可以这样做

var replacement = "car"; 
var toReplace = "boat"; 
var str = "banana boats or boat" 
str = str.replace(replacement, toReplace);