2014-03-02 75 views
0

得到INT我有一個看起來像這樣我的服務器上的文件:JavaScript文件掃描:在某些行

0 2 
1 8 
2 3 
3 1 
//... 

我已經知道如何獲取該文件的內容,我不喜歡這樣寫道:

var file = 'fileName'; 
    var rawFile = new XMLHttpRequest(); 
    rawFile.open("GET", file, true); 
    rawFile.onreadystatechange = function() 
    { 
     if(rawFile.readyState === 4) 
     { 
      if(rawFile.status === 200 || rawFile.status == 0) 
      { 
       var allText = rawFile.responseText; 
      } 
     } 
    } 
    rawFile.send(null); 

文件左側的整數對於每個條目都是遞增的,右側的整數是隨機的。我的程序指定了一個int n,並且我想要檢索等於n的左側值右側的值。在這個例子中,如果程序指定n = 2,我想得到3.我該怎麼做?

回答

0

搜索線由線更傳統的方法

var n = '2', l; 

var file = 'fileName'; 
var rawFile = new XMLHttpRequest(); 
rawFile.open("GET", file, true); 
rawFile.onreadystatechange = function() 
{ 
    if(rawFile.readyState === 4) 
    { 
     if(rawFile.status === 200 || rawFile.status == 0) 
     { 
      var allText = rawFile.responseText, 
       lines = allText.split("\n"), 
       line; 

      for (var i=0; i<lines.length; i++) { 
       if (lines[i].indexOf(n) === 0) { 
        line = lines[i]; 
        break; 
       } 
      } 

      var numbs = line.split(/\s+/); 

      l = numbs[1]; 
     } 
    } 
} 
rawFile.send(null); 
0

一種方法是:

var n = 2; 
var right = allText.match(new RegExp('^' + n + ' (\\d+)$', 'm'))[1];