['abc','xyz']
– 我想在 javascript 中使用正则表达式将这个字符串变成 abc,xyz
。我想用空字符串替换开闭方括号和单引号,即 ""
。
使用此正则表达式来匹配方括号或单引号:
/[\[\]']+/g
替换为空字符串。
console.log("['abc','xyz']".replace(/[\[\]']+/g,''));
str.replace(/[[\]]/g,'')
给你
var str = "['abc',['def','ghi'],'jkl']";
//'[\'abc\',[\'def\',\'ghi\'],\'jkl\']'
str.replace(/[\[\]']/g,'' );
//'abc,def,ghi,jkl'
您可能甚至不需要字符串替换。如果您的原始字符串是 JSON,请尝试:
js> a="['abc','xyz']"
['abc','xyz']
js> eval(a).join(",")
abc,xyz
当然要小心
eval
。
这应该适合你。
str.replace(/[[\]]/g, "");
只是在这里提出一个我认为更具可读性的替代方案。
/\[|\]/g
JavaScript 实现:
let reg = /\[|\]/g
str.replace(reg,'')
正如其他人所示,您所要做的就是列出
[
和 ]
字符,但因为它们是特殊字符,您必须使用 \
来转义它们。
我个人发现使用
[]
的字符组定义令人困惑,因为它使用了您要替换的相同特殊字符。
因此,使用
|
(OR) 运算符,您可以更轻松地区分正则表达式中的特殊字符和被替换的文字字符。
我们可以通过以下方式使用 javascript 中的 replace() 方法轻松替换 [ 和 ]。
console.log("['abc','xyz']".replace('[','').replace(']', ''));