2016-08-18 5 views
0

間に空白行があり、最後の行も空白のcsvファイルでは、どのように無視することができますか、空でない次の行にジャンプしますか?JavaScriptで、csvファイルをアップロード中に空白行を無視するにはどうすればよいですか?

column1;列2。列3

value1; value2;値3

この行は空です。

value7; value8;私は私のウェブサイト上でそれを表示するには、その後、すべての単一の行をanalizeし、これを行うよりも

var fileString = evt.target.result; 

:value9

__________________this行(最後のものは)私は、ファイルの内容を取得し、空

ある

var lines = fileString.split("\r\n"); 

空白行をチェックして置き換えるループを書く可能性はありますか?このように:

var pattern = /\r?\n\r?\n/g; 

for(var i = 0; i < fileString.length; i++){ 
    if(lines === null){ 
    lines.replace(pattern, '\n'); 
    } 
} 
+0

文字列から空白行を削除する方法を尋ねていますか? Javascriptで操作する前に文字列として利用できるようにする必要があるためです。つまり、ファイルをバッファリングして処理し、余分な行を削除する必要があります。 –

+0

まさに、それは私に文字列として利用可能であり、それらを無視するか、削除するかのどちらかです。私はcsvファイルを私のWebページにインポートしたいと思います。私がそれをすると、空の行と最後の行を見ることができます。基本的には必要ないものです。 –

+0

'fileString.split(" \ r \ n ")'を実行する前に余分な行*を削除してみませんか? –

答えて

1

行間に空白行がある場合は、2行の行終端文字が連続していることを意味します。ほとんどの場合、\n\nがあるが、Windowsではラインターミネータの前にキャリッジリターン(\r\n\r\n)があります。空の行を取り除くには、ダブルターミネータをシングルターミネータに置き換えてください。

var input = 'a,b,c\r\n' + 
 
      'd,e,f\r\n' + 
 
      '\n' + 
 
      'g,h,i\n' + 
 
      '\n'; 
 
var pattern = /\r?\n\r?\n/g; 
 
console.log(input.replace(pattern, '\n'));

この正規表現は、一致するか\r\nか、単に\n\r?\rの0または1の一致を意味する)、グローバルフラグ(g)文字列のことができますreplaceすべての試合を使用して2番目の引数('\n')として渡す文字列で置き換えます。

警告:destroy Terminatorsにしようとすると、人類のための長期的な戦いにつながる可能性があります。

+0

ええと、これを試してもうまくいかない:/途中の行も最後の行も置き換えられていない。 –

+0

@ C.R。ご覧のように、これはあなたが記述した問題のために働くので、サンプル入力を私に与えなければならないでしょう。 –

+0

いいえ、もう少し微妙にする必要があります - 1:\ nを\ nに置き換えます - 2:\ n +(つまり:1以上\ n)を\ nに置き換えます - 3:\ n(正規表現/^\ n/g)はnullになります。 –

関連する問題