用另一个字符串替换字符串中的单词 - Javascript
Replacing word in a string with another string - Javascript
有谁知道我可以用另一个字符串替换字符串中找到的单词的任何正则表达式?
var replacement = "car";
var toReplace = "boat";
var str = "banana boats or boat"
str = str.replace(toReplace, replacement);
我希望 str 等于 "banana boats or car" 而不是 "banana cars or car"
有什么建议吗?
您需要 global
标记才能进行多个匹配。所以将其作为替换正则表达式传递:
new RegExp(toReplace, "g")
您可以使用单词边界 \b
只替换整个单词,而不是用所需单词替换新创建的正则表达式中单词的一部分。
var replacement = "car",
toReplace = "boat",
str = "banana boats or boat";
str = str.replace(new RegExp('\b' + toReplace + '\b', 'g'), replacement);
console.log(str);
您的问题不清楚,因为 str 在您更改之前默认情况下已经等于 "banana boats or boat"!
...但如果你坚持,你可以这样做
var replacement = "car";
var toReplace = "boat";
var str = "banana boats or boat"
str = str.replace(replacement, toReplace);
replace
仅替换 第一个 搜索字符串实例 toReplace
in str
.
要替换 str
中 toReplace
的 所有 个实例,请使用 RegEx
对象和 g
(全局)以 toReplace
作为搜索字符串的标志:
var replacement = "car";
var toReplace = "boat";
var str = "banana boats or boat";
var toReplaceRegex = new RegExp(toReplace, "g");
str = str.replace(toReplaceRegex, replacement);
console.log(str); // prints "banana cars or car"
有谁知道我可以用另一个字符串替换字符串中找到的单词的任何正则表达式?
var replacement = "car";
var toReplace = "boat";
var str = "banana boats or boat"
str = str.replace(toReplace, replacement);
我希望 str 等于 "banana boats or car" 而不是 "banana cars or car"
有什么建议吗?
您需要 global
标记才能进行多个匹配。所以将其作为替换正则表达式传递:
new RegExp(toReplace, "g")
您可以使用单词边界 \b
只替换整个单词,而不是用所需单词替换新创建的正则表达式中单词的一部分。
var replacement = "car",
toReplace = "boat",
str = "banana boats or boat";
str = str.replace(new RegExp('\b' + toReplace + '\b', 'g'), replacement);
console.log(str);
您的问题不清楚,因为 str 在您更改之前默认情况下已经等于 "banana boats or boat"! ...但如果你坚持,你可以这样做
var replacement = "car";
var toReplace = "boat";
var str = "banana boats or boat"
str = str.replace(replacement, toReplace);
replace
仅替换 第一个 搜索字符串实例 toReplace
in str
.
要替换 str
中 toReplace
的 所有 个实例,请使用 RegEx
对象和 g
(全局)以 toReplace
作为搜索字符串的标志:
var replacement = "car";
var toReplace = "boat";
var str = "banana boats or boat";
var toReplaceRegex = new RegExp(toReplace, "g");
str = str.replace(toReplaceRegex, replacement);
console.log(str); // prints "banana cars or car"