2017-10-19 7 views
0

私はcsvファイルを読み込もうとしています。ファイルを分割して区切りにするので、各行をコンマで区切ります。正規表現の下で私のためにうまく動作しますが、問題は空のフィールドを省略しています。コンマで区切っても空白のままにしたい

私は、この出力

[Type,Name,Description,"",Comments] 

をしたいが、正規表現上の4指標ではなく5

[Type,Name,Description,Comments] 

str = "Type,Name,Description,,Comments" 
var arr = str.match(/("[^"]*")|[^,]+/g); 

/("[^"]*")|[^,]+/g) 

は、コンマが二重引用符で タイプ、名前、「説明を表示された場合は、この問題を回避するために使用される取得s ",, Comments

私はregexに新しく、それを達成する方法はあまり知られていません。事前にありがとう

+4

いけない、正規表現を使用し、 '分割(「」)を使用し' –

+1

は、私はそれが唯一の分割ではないので、それは、間違っただまされやすい人のターゲットだと思うが、分離しながらコンマで引用符で囲まれた文字列を維持します。 –

答えて

1

あなたは空の部品(?=,(,|$))ためのパターンを追加することができます。

var string = "Type,\"Name, foo\",Description,,Comments,", 
 
    array = string.match(/(("[^"]*")|[^,]+)|(?=,(,|$))/g); 
 

 
console.log(array);

+0

ありがとう、正しいと最速の答え:) –

1

String#split機能を使用して,を渡してください。

var str = "Type,Name,Description,,Comments" 
 
var arr = str.split(','); 
 

 
console.log(arr);

+1

これはちょうど私のPOVですが、詐欺に答えるのは間違っています。 – Rajesh

+0

彼は彼の答えを掲示したときにそれは欺瞞としてマークされていませんでした。 – delinear

+0

引用符で囲んでカンマを使用しています。 –

関連する問題