我有一个类似于'a,b,"c,d",e,"f,g,h"'
的字符串。
我希望能够在,
上拆分此字符串,但保留封装的字符串,并获得以下输出:["a","b","c,d","e","f,g,h"]
。
有没有办法做到这一点,而不必通过char解析字符串char?
答案 0 :(得分:5)
您可以创建字符串的匹配项,然后映射匹配项并替换元素中的任何"
:
let f = 'a,b"c,d",e,"f,g,h"';
let matches = f.match(/\w+|(["]).*?\1/g);
let res = matches.map(e => e.replace(/"/g, ''));
console.log(res);