拆分字符串但保留内部字符串完好无损?

duc*_*uck 0 javascript string split

我有一个看起来像这样的字符串'a,b,"c,d",e,"f,g,h"'.

我希望能够拆分这个字符串,,但保持封装的字符串完整,得到以下输出:["a","b","c,d","e","f,g,h"].

有没有办法做到这一点,而不必通过char解析字符串char?

chr*_*con 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);
Run Code Online (Sandbox Code Playgroud)