2017-06-14 12 views
0

私はこのような文字列を持っています'a,b,"c,d",e,"f,g,h"'文字列を分割しますが、内側の文字列はそのままですか?

,でこの文字列を分割できますが、カプセル化された文字列はそのまま残して、次の出力を得ます。["a","b","c,d","e","f,g,h"]

charで文字列charを解析することなくこれを行う方法はありますか?

+0

は '、B "C、D" で、Eは、 "f、g、h" '有効なjavascript文字列ですか? – Hitmands

+1

は入力a、b "c、d"、e、 "f、g、h"です。またはa、b、 "c、d"、e、 "f、g、h"私はあなたが持っていることを意味します。 –

+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

関連する問題