如何逐个处理以insert
开头的行之间的数据。我的下面的代码给出了第1部分的输出,如果有100个部分被delete
分隔,那该怎么办。
就像我想让第1部分排列数据然后占据第2部分(File Id
)等等。如果有更好的方法,我一定会听。感谢。
输入文件(File Id:
)
File ID
代码
input.txt
答案 0 :(得分:1)
您可以创建一个方法来抽象文件的读取并将其拆分为多个部分:
def split_by_file_id(file)
lines = []
id = nil
File.foreach(file).with_index do |line, line_num|
if line =~ /^File Id: (.*)/m
yield id, lines if id
lines = []
id = $1
else
lines << line if id
end
end
yield id, lines if id
end
# Code to process each section...
split_by_file_id("input.txt") do |id, lines|
lines.each do |line|
# do something...
end
end
答案 1 :(得分:0)
file = File.open("input.txt", "rb")
contents = file.read.split("File Id:")
contents.shift
现在你可以contents.each
循环播放它。