['abc','xyz']
- 我想用 JavaScript 正则表达式将此字符串转换为 abc,xyz
。 我想用空字符串替换方括号和单引号,即""
。
['abc','xyz']
- 我想用 JavaScript 正则表达式将此字符串转换为 abc,xyz
。 我想用空字符串替换方括号和单引号,即""
。
使用此正则表达式匹配方括号或单引号:
/[\[\]']+/g
替换为空字符串。
console.log("['abc','xyz']".replace(/[\[\]']+/g,''));
[...]
用于定义一个匹配字符集合,它们是正则表达式的一部分。因此,如果你想要匹配 [
和 ]
这两个字符,你需要对它们进行转义,使之被解释为普通字符。+
表示你不仅想匹配这个字符集合一次,而是要匹配整个字符串。所以,如果你想匹配每个 [
、]
或 '
字符,结果就是 /[\[\]']+
。 - Carrm(/[[\]]/g,'')
,如下面的 @ithkuil 建议的那样。 - adam rowestr.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,'')
就像其他人展示的那样,你所要做的就是列出[
和]
字符,但由于它们是特殊字符,你必须用\
进行转义。
个人认为使用[]
定义字符组有些令人困惑,因为它使用了你试图替换的相同特殊字符。
因此,使用|
(或)运算符,你可以更容易地区分正则表达式中的特殊字符和被替换的字面字符。
['abc',['def','ghi'],'jkl']
如果可以,结果应该是什么? - Mark Byers['ab\'c', 'xy\\z']
? - bobince