javascript:正则表达式用于使用分隔符在带引号的字符串数组中获取字符串

时间:2018-09-10 17:03:59

标签: javascript regex

我有一个像这样的字符串:

"foo", "bar", "baz"

我想用正则表达式得到单个字符串;

["foo", "bar", "baz"]

这是我的代码:

var re = new RegExp('"(?:[^"])*"', 'g');
var match = re.exec('"foo", "bar", "baz"');
console.log(match);

但不检查分隔符,并仅返回foo ...

3 个答案:

答案 0 :(得分:0)

您可以选择将split(/,\s+/)replace()用于该输出:

var str = '"foo", "bar", "baz"';
var res = str.split(/,\s+/).map(item=>item.replace(/"/g, ''));
console.log(res);

答案 1 :(得分:0)

您可以添加方括号并解析JSON

var string = '"foo", "bar", "baz"',
    array = JSON.parse('[' + string + ']');
    
console.log(array);

答案 2 :(得分:0)

这是一种解决方案,它可以删除前导/后缀引号并在定界符上进行分割:

const s = '"foo", "bar", "baz"';
console.log(s.slice(1, s.length-1).split('", "'));