2017-06-14 86 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