无法替换Javascript中的字符串

无法替换Javascript中的字符串,javascript,Javascript,我有这样一个字符串“[[String1]]、[[String2]]、[[String3]]”。我需要删除所有方括号。为此,我在Javascript中使用了replace函数 var str = "[[String1]],[[String2]],[[String3]]"; var str1 = str.replace(/[[/g,''); //not working var str2 = str1.replace(/]]/g,''); //working 谁能帮我解决这个问题。在[之前添加\

我有这样一个字符串“[[String1]]、[[String2]]、[[String3]]”。我需要删除所有方括号。为此,我在Javascript中使用了replace函数

var str = "[[String1]],[[String2]],[[String3]]";
var str1 = str.replace(/[[/g,''); //not working
var str2 = str1.replace(/]]/g,''); //working

谁能帮我解决这个问题。

[
之前添加
\

var str=“[[String1]]、[[String2]]、[[String3]]”;
var str1=str.replace(/\[\[/g',);

console.log(str1);
[
之前添加
\

var str=“[[String1]]、[[String2]]、[[String3]]”;
var str1=str.replace(/\[\[/g',);
console.log(str1);


在正则表达式中,
[
有一个特殊的含义(它启动一个“字符类”,您可以在其中说
[abc]
,它与
a
b
c
匹配)

要使其不特殊,请在其前面加一个反斜杠以避开:

var str=“[[String1]]、[[String2]]、[[String3]]”;
var str1=str.replace(/\[\[/g',);
var str2=str1。替换(/]]/g',);
log(“str=“+str”);
log(“str1=“+str1”);
snippet.log(“str2=“+str2”);

在正则表达式中,
[
有一个特殊的含义(它启动一个“字符类”,您可以在其中说
[abc]
,它匹配
a
b
c

要使其不特殊,请在其前面加一个反斜杠以避开:

var str=“[[String1]]、[[String2]]、[[String3]]”;
var str1=str.replace(/\[\[/g',);
var str2=str1。替换(/]]/g',);
log(“str=“+str”);
log(“str1=“+str1”);
snippet.log(“str2=“+str2”);


在正则表达式中,
[
-字符表示可以匹配该组中任何字符的字符组的开头。您需要使用反斜杠转义
[
,如
\[/code>

var str=“[[String1]]、[[String2]]、[[String3]]”;
var str1=str.replace(/\[/g',);

在正则表达式中,
[
-字符表示可以匹配该组中任何字符的字符组的开头。您需要使用反斜杠转义
[
,例如
\[/code>

var str=“[[String1]]、[[String2]]、[[String3]]”;
var str1=str.replace(/\[/g',);

如果要卸下打开和关闭方括号,可以尝试此操作

"[[String1]],[[String2]],[[String3]]".replace(/\[|\]/g, "")

方括号用于字符类
[]
,如果要匹配,必须在模式中用反斜杠将其转义。而管道
|
表示or,因此匹配打开方括号或关闭方括号。

如果要删除打开方括号和关闭方括号,可以尝试此操作

"[[String1]],[[String2]],[[String3]]".replace(/\[|\]/g, "")

方括号用于字符类
[]
,如果要匹配,必须在模式中用反斜杠转义。管道
|
表示or,因此匹配开方括号或闭方括号。

需要转义这些
[
]
在它们前面添加一个
\
,因为它们是正则表达式中的特殊字符。在您的情况下,您希望删除字符串中的所有方括号。这意味着您需要捕获它们。为此,您需要定义一组这些字符

在正则表达式中,
[]
定义了一组要捕获的字符。在本例中,您要捕获
[
]
,因为它们是特殊字符,所以首先需要对它们进行转义

所以你想要的是:

var str  = "[[String1]],[[String2]],[[String3]]";
var str1 = str.replace(/[\[\]]/g,'');
console.log(str1);

您需要通过在前面添加一个
\
来转义这些
[
,因为它们是正则表达式中的特殊字符。在您的情况下,您希望删除字符串中的所有方括号。这意味着您需要捕获它们。为此,您需要定义一组这些字符

在正则表达式中,
[]
定义了一组要捕获的字符。在本例中,您要捕获
[
]
,因为它们是特殊字符,所以首先需要对它们进行转义

所以你想要的是:

var str  = "[[String1]],[[String2]],[[String3]]";
var str1 = str.replace(/[\[\]]/g,'');
console.log(str1);
试试这个

 var str  = "[[String1]],[[String2]],[[String3]]";
 var str1="",str2="";
 str = str.split(",");

 for(var i=0;i<str.length;i++)
 {
 str[i] = str[i].replace("[[","");
 str[i] = str[i].replace("]]","");
 if(i != (str.length-1))
 {
 str1 = str1+str[i]+",";
 }
 else
 {
 str1 = str1+str[i];
 }
 }

 alert(str1);
var str=“[[String1]]、[[String2]]、[[String3]]”;
变量str1=“”,str2=“”;
str=str.split(“,”);
对于(var i=0;i试试这个

 var str  = "[[String1]],[[String2]],[[String3]]";
 var str1="",str2="";
 str = str.split(",");

 for(var i=0;i<str.length;i++)
 {
 str[i] = str[i].replace("[[","");
 str[i] = str[i].replace("]]","");
 if(i != (str.length-1))
 {
 str1 = str1+str[i]+",";
 }
 else
 {
 str1 = str1+str[i];
 }
 }

 alert(str1);
var str=“[[String1]]、[[String2]]、[[String3]]”;
变量str1=“”,str2=“”;
str=str.split(“,”);

对于(var i=0;iDoh!我刚刚意识到以前当然有人问过这个问题。我搜索了“替换方括号javascript站点:stackoverflow.com”以查找早期副本FWIW.Doh!我刚刚意识到以前当然有人问过这个问题。我搜索了“替换方括号javascript站点:stackoverflow.com”要查找早期副本,请单击FWIW。