2016-09-25 11 views
0

jsonに座標データを解析するパーサを作成しようとしています。データは単純なx、y形式のテキストファイルです。私は[i]の前にテキストを取得しようとしていますが、これは.split()で可能ですか?javascript forループ - [i]の前にテキストを取得する方法

コード:

function visualize() 
{ 
    if(currDoc == null) 
    { 
     var location = window.prompt("Please enter the name of the dataset file, and make sure it is in the data directory. Current supported formats txt."); 
     location = "data/" + location; 
     jQuery.get(location, function(data) { 
      data = data.replace(/\s/g, ''); 
      var length = data.length; 
      var commaCount = 0; 
      for(var i=0;i<length;i++) 
      { 
       if(data[i] == ",") 
       { 
        commaCount += 1; 
        if(commaCount == 2) 
        { 
         //get text before [i] 
        } 
       } 
      } 
     }, "text").fail(function(){ alert("File not found. Did you enter the file name correctly?") }); 
    } 
    else 
    { 
     alert("A dataset is already visualized"); 
    } 
} 
+1

)を –

+0

それが唯一の最後の文字でない文字列を返します@Teemu –

+0

入力から何を得たいのかは明確ではありません。それぞれのxとyのペアが必要ですか、他のルールに基づいてより長い文字列を作成したいですか? – Ma3x

答えて

1

あなたはトークンに文字列を分割するsplit機能を使用することができます。次に、入力から必要なものを収集するためにそれらを繰り返し処理できます。あなたは、xとyのペアを必要とする場合は、このようなものだろう例えば

:のstring.Splitで文字列を(分割しないwhay

function visualize() 
{ 
    if(currDoc == null) 
    { 
     var location = window.prompt("Please enter the name of the dataset file, and make sure it is in the data directory. Current supported formats txt."); 
     location = "data/" + location; 
     jQuery.get(location, function(data) { 
      data = data.replace(/\s/g, ''); 

      // split the string 'x1,y1,...,xn,yn' into tokens ['x1', 'y1', ... 'xn', 'yn'] 
      var tokens = data.split(','); 

      // iterate over all tokens using a step of 2 (i += 2) 
      // Note: if you have an odd number of tokens the last one will be ignored 
      // (this is by design because you are expecting x,y pairs) 
      for(var i = 1; i < tokens.length; i += 2) 
      { 
       // print the (x,y) pair to the console 
       console.log("New pair (" + tokens[i-1] + "," + tokens[i] + ")"); 
      } 
     }, "text").fail(function(){ alert("File not found. Did you enter the file name correctly?") }); 
    } 
    else 
    { 
     alert("A dataset is already visualized"); 
    } 
} 
0

私はポインタを追加し、あなたがコンマを打ったときに二番目の配列の魔女は文字で埋められるのアレイに参加して、あなたはプレビューテキストを持っている、 は、それがどんな意味を成してい。あなたのデータは、このx1,y1,x2,y2,...,xn,ynのようにカンマで区切られている場合

function visualize() 
{ 
    if(currDoc == null) 
    { 
     var location = window.prompt("Please enter the name of the dataset file, and make sure it is in the data directory. Current supported formats txt."); 
     location = "data/" + location; 
     jQuery.get(location, function(data) { 
      data = data.replace(/\s/g, ''); 
      var length = data.length; 
      var commaCount = 0; 
      var charArray = []; 

      for(var i=0;i<length;i++) 
      { 
       if(data[i] == ",") 
       { 
        console.log('text' , charArray.join('')); 
        charArray = []; 
        commaCount += 1; 
        if(commaCount == 2) 
        { 
         //get text before [i] 
        } 
       }else { 
       charArry.puch(data[i]); 
       } 
      } 
     }, "text").fail(function(){ alert("File not found. Did you enter the file name correctly?") }); 
    } 
    else 
    { 
     alert("A dataset is already visualized"); 
    } 
} 
関連する問題