Javascript 如何使用正则表达式删除字符串中的方括号?

Javascript 如何使用正则表达式删除字符串中的方括号?,javascript,regex,Javascript,Regex,['abc','xyz']–我想用javascript中的正则表达式将这个字符串转换成abc,xyz。我想用空字符串替换开闭方括号和单引号,即“”使用此正则表达式匹配方括号或单引号: /[\[\]']+/g 替换为空字符串 console.log(“['abc','xyz']”。替换(/[\[\]']+/g,”)str.replace(/[\]]/g',)您可能甚至不需要字符串替换。如果原始字符串是JSON,请尝试: js> a="['abc','xyz']" ['abc','xyz'

['abc','xyz']
–我想用javascript中的正则表达式将这个字符串转换成
abc,xyz
。我想用空字符串替换开闭方括号和单引号,即

使用此正则表达式匹配方括号或单引号:

/[\[\]']+/g
替换为空字符串


console.log(“['abc','xyz']”。替换(/[\[\]']+/g,”)
str.replace(/[\]]/g',)
您可能甚至不需要字符串替换。如果原始字符串是JSON,请尝试:

js> a="['abc','xyz']"
['abc','xyz']
js> eval(a).join(",")
abc,xyz
当然要小心评估。

给你

var str = "['abc',['def','ghi'],'jkl']";
//'[\'abc\',[\'def\',\'ghi\'],\'jkl\']'
str.replace(/[\[\]']/g,'' );
//'abc,def,ghi,jkl'

我只是在这里提出一个我认为更具可读性的替代方案

/\[|\]/g
JavaScript实现:

let reg=/\[\\]/g
str.replace(注册号“”)
正如其他人所展示的,您所要做的就是列出
[
]
字符,但由于它们是特殊字符,您必须使用
\
对它们进行转义

我个人认为使用
[]
的字符组定义令人困惑,因为它使用的是您试图替换的同一个特殊字符


因此,使用
|
(OR)运算符,您可以更容易地区分正则表达式中的特殊字符和被替换的文字字符。

此字符串来自何处?这是JSON还是类似的东西?方括号可以嵌套吗<代码>['abc'、['def'、'ghi']、'jkl']如果是,结果应该是什么?这是JavaScript文本吗?您如何处理
['ab'c','xy\\z']
?它不是JSON,因为JSON对字符串使用双引号,而不是单引号。请参阅:您是否介意在此处解释正则表达式?@zypsps987
[…]
在regexp中用于定义一组要匹配的字符,它们是regexp“词汇表”的一部分。因此,如果要匹配
[
]
字符,则需要对它们进行转义,以便将它们解释为简单字符。
+
表示您不希望只匹配此集合一次,而是要匹配整个字符串。如果要捕获每个
[
]
'
字符,则会产生
/[\[\]']+
。字符类中的第一个括号不必转义。只需要
(/[\]]/g',)
,正如@ithkuil在下面建议的那样。