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

问题描述 投票:0回答:7

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

javascript regex
7个回答
101
投票

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

/[\[\]']+/g

替换为空字符串。

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


21
投票

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


14
投票

给你

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

4
投票

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

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

当然要小心

eval


2
投票

这应该适合你。

str.replace(/[[\]]/g, "");

0
投票

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

/\[|\]/g

JavaScript 实现:

let reg = /\[|\]/g

str.replace(reg,'')

正如其他人所示,您所要做的就是列出

[
]
字符,但因为它们是特殊字符,您必须使用
\
来转义它们。

我个人发现使用

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

因此,使用

|
(OR) 运算符,您可以更轻松地区分正则表达式中的特殊字符和被替换的文字字符。


0
投票

我们可以通过以下方式使用 javascript 中的 replace() 方法轻松替换 []

console.log("['abc','xyz']".replace('[','').replace(']', ''));

© www.soinside.com 2019 - 2024. All rights reserved.