Javascript myString.replace(变量“,”)。。。。。。但在全球范围内

Javascript myString.replace(变量“,”)。。。。。。但在全球范围内,javascript,string,variables,replace,Javascript,String,Variables,Replace,如何使用变量从字符串中删除子字符串的所有实例? (要删除,我认为最好的方法是在全球范围内用零替换……对吗?) 如果我有这两条线 myString = "This sentence is an example sentence." oldWord = " sentence" 然后像这样 myString.replace(oldWord, ""); 仅替换字符串中变量的第一个实例 但是如果我像这样添加全局gmyString.replace(/oldWord/g,”)它不起作用,因为它认为oldW

如何使用变量从字符串中删除子字符串的所有实例? (要删除,我认为最好的方法是在全球范围内用零替换……对吗?)

如果我有这两条线

myString = "This sentence is an example sentence."
oldWord = " sentence"
然后像这样

myString.replace(oldWord, "");
仅替换字符串中变量的第一个实例


但是如果我像这样添加全局g
myString.replace(/oldWord/g,”)它不起作用,因为它认为oldWord在本例中是子字符串,而不是变量。如何使用该变量执行此操作?

好的,您可以使用以下命令:

var reg = new RegExp(oldWord, "g");
myString.replace(reg, "");
或简单地说:

myString.replace(new RegExp(oldWord, "g"), "");

传递变量时,必须使用构造函数而不是文本语法。坚持文字字符串的文字语法,以避免混淆转义语法

var oldWordRegEx = new RegExp(oldWord,'g');

myString.replace(oldWordRegEx,"");

根据MDN的文档,您可以这样做:

var re = /apples/gi;
var str = 'Apples are round, and apples are juicy.';
var newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.

其中/gi告诉它进行全局替换,忽略大小写。

此处无需使用正则表达式:将字符串围绕要删除的子字符串的匹配项拆分,然后将其余部分连接在一起:

myString.split(oldWord).join('')
在OP的示例中:

var myString=“这句话是一个示例句。”;
var oldWord=“句子”;

log(myString.split(oldWord.join)(“”))呜!那是我抄的吗?我只是打字慢一点,提供更多的建议。唉。。。总是伴娘从不回答。可能重复的繁荣:
var oldWord='\\'这不能回答问题。问题是关于替换变量的内容