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='\\'代码>这不能回答问题。问题是关于替换变量的内容