2017-06-14 72 views
0

我有一个看起来像这样的字符串'a,b,"c,d",e,"f,g,h"'分裂字符串,但保持内部字符串完好?

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

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

+0

是',A,B “C,d”,即, “f,g,h”'有效的javascript字符串? – Hitmands

+1

是你的输入a,b“c,d”,e,“f,g,h”。或a,b,“c,d”,e,“f,g,h”。我的意思是你有一个','后b –

+0

@Hitmands是的,它是 –

回答

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);

+1

干得好,好方法。 –

+1

感谢您的快速响应。这个答案适合我的需要,我会将其标记为接受的答案 – duck