2016-07-04 5 views
0

2つの同一のテストファイルがあります。
FILE1(OD -c file2.csv)<(OD -c file1.csv)2つの同一のcsvファイルですが、キャリッジリターンと改行の問題があります

<:返すそれらの差分を取る ABC \ rを\ NABC \ rを\ NABC

FILE2 : ABC \ rを\ NABC \ rを\ NABC \ rを\ nは

のでどうやら、Excelが追加\ rは\ nは.csvファイルの作成で

私のcsv parse関数:

var reader = new FileReader();   
     reader.onload = function(e) { 
     var contents = e.target.result;  
     var rows = contents.split(/[\r\n]{1,}/g); 
    } 

私は上記の私の解析機能では、私の正規表現をどのように修正すればよいマイhasDups()関数は、サンプルファイルのtest.CSV 2

function toLowerCase(s) { 
    if (typeof(s) === 'string') { 
     return s.toLowerCase(); 
    } 

    return s; 
} 

function hasDups(arr) { 
    return (arr.length !== _.uniq(arr, false, toLowerCase).length); 
} 

$scope.add= function() { 

      var subs = []; 


        angular.forEach($scope.csvModel, function(sub) { 

         var subCopy = angular.copy(sub); 

         // Concatenates each field into one separated by spaces 
         subs.push(Object.keys(subCopy).map(function(key) { 
          return subCopy[key]; 
         }).join(' ')); 
        }); 



      } 

      if ($scope.hasDups(subs)) { 
console.log("dups exsist") 
} 
} 

ファイルで動作します?

ABC
ABC
ABC

ABC

ABC

出力(行)は、不要な改行やスペースなどをすべて削除し、1行に1つだけabcを表示する必要があります。

+0

さらに処理する前に、ファイルの末尾にある '\ r'や/または' \ n'文字を取り除くことはできません。また、 '.filter()'は、空白だけですか? – nnnnnn

+0

if(rows [rows.length-1] == '' { rows.pop() }末尾から ''を削除した – Angular

+0

ファイルは実際にスペース文字で表示されていますか? '\ r'と' \ n'文字を使用しています。そうすれば、ファイル2の配列の最後に不要な要素が2つ以上あることになります。また、どのように 'hasDups()'を呼びますか?ファイル読み込みコードと 'hasDups()'の間に直接リンクを表示します。 – nnnnnn

答えて

0

\r \nを完全に省略することを目標とする場合は、範囲と文字クラスのために角括弧を使用しないでください。あなたはそれがテストファイル1と2

の両方に同じ配列を与える必要がありますvar rows = contents.split(/ *\r \n */g);

に正規表現を変更しようとすることができます[a-d] or [a-zA-Z0-9]

はそれが役に立てば幸い!

+0

この正規表現は、ファイルワードを1行に分散します。私はラインごとに1つ表示する必要があります。 – Angular

+0

'\ r \ n'は、各行の行の改行は正しいのでしょうか?それは各セルの代わりに行の最後に現れます。正しいですか?はい、必要なものを私の正規表現が実行しています –

+0

更新された投稿をチェックします。 、私は最後に\ rと\ nしか見ないo fファイルにエラーが発生します。しかし、私はあなたの正規表現を更新する必要がありますので、1行に1つずつ表示されます。今のところ、このように表示されています:abc abc abc。正規表現は私が今表示しているところで正しく動作しているかどうかは分かりません。\ rと\ n – Angular

関連する問題