Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript替换()_Javascript_Replace - Fatal编程技术网

JavaScript替换()

JavaScript替换(),javascript,replace,Javascript,Replace,我试图在JavaScript中使用replace函数,但我有一个问题 strNewDdlVolCannRegion = strNewDdlVolCannRegion.replace(/_existing_0/gi, "_existing_" + "newCounter"); 这很有效 但是我需要让“0”成为一个变量 我试过: _+myVariable+/gi并已尝试 _+'myVariable'+/gi 谁能帮我弄一下这个的语法吗。多谢各位 您需要使用。这将允许您使用字符串文字作为正则

我试图在JavaScript中使用replace函数,但我有一个问题

strNewDdlVolCannRegion = strNewDdlVolCannRegion.replace(/_existing_0/gi,
    "_existing_" + "newCounter");
这很有效

但是我需要让“0”成为一个变量

我试过: _+myVariable+/gi并已尝试 _+'myVariable'+/gi


谁能帮我弄一下这个的语法吗。多谢各位

您需要使用。这将允许您使用字符串文字作为正则表达式,而正则表达式又允许您使用变量。这将允许您使用字符串文字作为正则表达式,而正则表达式又允许您使用变量。

使用
RegExp
对象:

var x = "0";
strNewDdlVolCannRegion = strNewDdlVolCannRegion.replace(new RegExp("_existing_" + x, "gi"), "existing" + "newCounter"); 

使用
RegExp
对象:

var x = "0";
strNewDdlVolCannRegion = strNewDdlVolCannRegion.replace(new RegExp("_existing_" + x, "gi"), "existing" + "newCounter"); 

如果使用RegExp构造函数,可以使用如下字符串定义模式:

var myregexp=new RegExp(regexstring,“gims”)//第一个参数是pattern,第二个是options

因为它是一个字符串,所以可以执行以下操作:


var myregexp=new RegExp(“existing”+variablethatszero,“gims”)

如果使用RegExp构造函数,可以使用如下字符串定义模式:

var myregexp=new RegExp(regexstring,“gims”)//第一个参数是pattern,第二个是options

因为它是一个字符串,所以可以执行以下操作:


var myregexp=new RegExp(“existing”+variablethatszero,“gims”)

假设您的意思是希望零是任何一位数字,这应该可以:

y = x.replace(/_existing_(?=[0-9])/gi, "existing" + "newCounter");

看起来您正试图用字符串连接构建一个regex文本-这是行不通的。您需要使用
RegExp()
构造函数表单,以便将特定变量注入正则表达式:

假设您希望零是任何一位数字,这应该可以:

y = x.replace(/_existing_(?=[0-9])/gi, "existing" + "newCounter");

看起来您正试图用字符串连接构建一个regex文本-这是行不通的。您需要使用
RegExp()
构造函数表单,以便将特定变量注入正则表达式:

您能提供简单的输入-简单的输出吗,您目前给我们的只是jibber-jabber@c0mrade当前位置他的问题很清楚。@熊会吃掉你的对你来说,对我来说不是:DFYI如果你能使用@Matt提供的解决方案,我会将构造函数与文字对应起来。构造函数在1000000次迭代中花费了1600-1800%的时间。我不知道开销这么高。你能提供简单的输入-简单的输出吗,到目前为止你给我们的只是jibber-jabber@c0mrade:他的问题很清楚。@Bears会吃掉你这是你的问题,不是我的问题:如果你能使用@Matt提供的解决方案,我会让构造函数与字面相反。构造函数在1000000次迭代中花费了1600-1800%的时间。我不知道开销这么高。谢谢。这个例子在这里很有用,正是我所需要的。再次感谢,谢谢。这个例子在这里很有用,正是我所需要的。再次感谢。同样感谢你的例子。有帮助。谢谢,也谢谢你的例子。有帮助。谢谢