我必須從文件中獲取特定數據。我需要考慮的是包含特定字符串(「 - 測試」)僅線,並採取了剩餘的字符分割線與紅寶石中的特定字符串
我的文件中包含類似的幾行:
# = = = = =
# SETTING
# = = = = =
# install - ports
--TEST:ports_1 80
--TEST:ports_2 1024
INCLUDE: gvars/controller.cfg # temporary
我需要解析與「線 - -TEST:」走其餘的字符,如‘ports_1’ 我正在使用的代碼讀取文件:
File.readlines(FILE_NAME).each do |line|
.....
end
然後我試圖通過串到每行分裂‘ - 測試’和空間「\ s」,但我認爲這不是最好的和正確的方式
line.split(--TEST:"\s/).each do |line_parsed|
這工作得很好!通過此代碼,只有包含字符串「--TEST」的行纔會考慮在內。但是,如果我使用l [0],我將獲得所有的行並且l [1] NIL。例如,如何訪問字符串「port_1」? – user3472065
'/^- TEST:(。*)$ /'→'/^- TEST:(\ S +)\ s +(。*)$ /' – mudasobwa
請注意,'read'與op'readlines'的不同之處在於整個文件將陷入內存,這可能對較大的文件不利。 – Matt