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

时间:2010-09-28 11:04:21

标签: javascript regex

['abc','xyz'] - 我希望这个字符串在javascript中使用正则表达式转换为abc,xyz。我想要更换两个开放式方形支架和带有空字符串的单引号,即""

5 个答案:

答案 0 :(得分:63)

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

/[\[\]']+/g

替换为空字符串。

"['abc','xyz']".replace(/[\[\]']+/g,'')

答案 1 :(得分:13)

str.replace(/[[\]]/g,'')

答案 2 :(得分:11)

你去吧

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

答案 3 :(得分:4)

你可能甚至不需要字符串替换。如果您的原始字符串是JSON,请尝试:

js> a="['abc','xyz']"
['abc','xyz']
js> eval(a).join(",")
abc,xyz

当然要小心eval

答案 4 :(得分:0)

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

/\[|\]/g

JavaScript 实现:

let reg = /\[|\]/g

str.replace(reg,'')

正如其他人所展示的,您只需列出 [] 字符,但由于它们是特殊字符,因此您必须使用 \ 将它们转义。

我个人认为使用 [] 的字符组定义令人困惑,因为它使用您要替换的相同特殊字符。

因此,使用 | (OR) 运算符可以更轻松地将正则表达式中的特殊字符与被替换的文字字符区分开来。