これは前に尋ねられたと思うでしょうが、私はそれを見つけることができません。引用符で囲まれていないコンマで文字列を分割するJavascriptメソッド
引用符で囲まれていないカンマでjs文字列を区切る必要があります。私は二重引用符を使用しているので、少し単純にする必要があります。
私は2つのアプローチを試しましたが、それを釘付けにしませんでした。
は、私はこれをオンにする必要があります。この中
'body.loaded"who, are , you" div"hello ,"#div-id span CODE, body.loaded span"span, text" code'
:
[
'body.loaded"who, are , you" div"hello ,"#div-id span CODE',
'body.loaded span"span, text" code'
]
1) - >良い部品、主に作品を一致させるが、私の結果に空の文字列のアロット私を与えます。
'body.loaded"who, are , you" div"hello ,"#div-id span CODE, body.loaded span"span, text" code'.match(
/([^,]*"[^"]*")*/g
)
['body.loaded"who, are , you" div"hello' ,'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ' body.loaded span"span, text"', '', '', '', '', '', '']
私はそれが正規表現の()のためだと思います。
2)悪い部分を分割します。これはまだかなりありません。ここでの考え方は、「偶数個の続くコンマを一致させることです。
'body.loaded"who, are , you" div"hello ,"#div-id span CODE, body.loaded span"span, text" code'.split(
/,(?![^"]*"[^"]*("[^"]*"[^"]*)*$)/
);
基本的には、クリーナー、よりシンプルで美しい溶液(ルック尻をサポートしていませんjavascriptを念頭に置いてクマ)がなければならない。
エスケープした二重引用符をサポートしていないと仮定できます。つまり、 '' test \ "、foo'は' test \ 'と' foo'として表示されますか? –
@anubhavaそこに十分なコードはありませんか? –
@ケビン・バラード私はエスケープせずに生きることができますが、結果は "テスト"とfooでなければなりません。 –