2013-04-17 47 views
0

在解析文件,我想尋找一個線,然後從那裏開始分析:紅寶石迭代器 - 獲取下一個項目/項目

inFile.each_line do |line| 
    if line == 'User E' 
     #start parsing next line 
    end 
end 

你怎麼建議我做這樣的事情?我應該回到正常循環嗎?如果我使用break,是否有任何方法來保持迭代器的迭代計數?

+0

文件有多大?您可以使用其他一些將內容讀入數組的方法,然後您可以濫用此方法進行搜索。 – squiguy

+0

@squiguy只有幾百行(少於300),其中大部分超過10,000個字符。 – jtpereyda

回答

0

我會去:

string = "I want to parse from here to here" 
index = string.index(from) 
string[index,-1].each_line do |l| 
    parse 
end 

這樣應該比採用分體式或增加對各行的測試速度更快。

如果你的文件很大,你可能想把它分成幾塊。