2017-06-21 3 views
0

私は以下のコードをインポートファイルに持っています。私は分割( "\ n \ r")コードで分割しましたが、すべての空白行にカンマが付きます。それを修正する方法..下のコードを参照してください画像を入れてください。javascript split( " n r")空の行にカンマを追加

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-1.10.2.js"></script> 
    </head> 

<body> 


     <textarea id="textareaid" name="textareaid" class = "textdata" value="" rows="10" cols="100" placeholder="Enter Any Text!"></textarea> 
     <br> 
     <input id="filename" class="btnsubmit" type="file" accept="text/plain" onchange="PreviewText();" /> 

<script type="text/javascript"> 

       function PreviewText() { 
       var file = document.getElementById("filename").files[0]; 
        var reader = new FileReader(); 
        reader.onload = function (e) { 
        var array = e.target.result.split("\n\r"); 
        alert (array); 
        document.getElementById("textareaid").value = array; 
        }; 
        reader.readAsText(file); 
     }; 

</script> 

</body> 
</html> 

enter image description here

+0

'警告(配列)は'基本的に '警告(array.toString())であるからだこと'。代わりに、 '.join(...)'という文字列に戻って、あなたが望む区切り文字の文字列に戻します。 – Bergi

+0

'\ n \ r' - 奇妙なことに、その行は決して終わっていません。通常は' \ n'または '\ r \ nそれじゃない? –

答えて

0

あなたはテキストエリアに表示する前に、唯一のカンマを持つすべての行をフィルタリングすることができます。

以下のコードスニペットを確認してください。私はArray.filterを使って、その行に,があるかどうかを調べました。これを行わないのはなぜ

var array = [ 
 
    "Hello", 
 
    ",", 
 
    "Something", 
 
    ",", 
 
    "Great" 
 
]; 
 

 
array = array.filter(function(line) { 
 
    return line.length > 1 && line !== ","; 
 
}); 
 

 
console.log(array);

0

Array.join(" ")アレイのため、この場合にコンマ

がそれをチェックアウトされ、文字列に配列を変換し、セパレーターを削除:

  function PreviewText() { 
       var file = document.getElementById("filename").files[0]; 
       var reader = new FileReader(); 
       reader.onload = function (e) { 

       var array = e.target.result.split("\n\r"); 
       document.getElementById("textareaid").value = array[0] 
       document.getElementById("textareaid1").value = array[1] 
       document.getElementById("textareaid2").value = array[2] 
       }; 
       reader.readAsText(file); // 
    }; 

====================================== ==== // ==========================

これを動的に実行したい場合は、次のようにします。

array.forEach(function(article){ 
    list = document.createElement("ul"); 
    line = document.createElement("li"); 
    span = document.createElement("span"); 

    art = document.createTextNode(article) 

    span.appendChild(art); 
    line.appendChild(span); 
    list.appendChild(line); 

    boxNode.appendChild(list) 
}) 

作業例(概念実証) https://jsbin.com/fuyirajoni/edit?html,js,output

は、それはあなたのお役に立てば幸いです:)

+0

それは動作しません..エラーが発生します。 未知の型エラー:e.target.result.joinは関数ではありません –

+0

何を達成しようとしていますか? –

+0

私は配列に変換したい記事があります。 1つのテキストエリアで1行目を使い、他のテキストエリアに記事を残してほしい –

関連する問題