0

我想解析文件并删除 ruby​​ 上的一些标头字符串。

要解析的文件如下所示。

---
some
text
text2
string
and
so
on
---
another string
and the other

我想删除

---
some
text
text2
string
and
so
on
---

这部分。

编辑:我写了一个这样的红宝石代码

file = File.open("test")
a = file.readlines
skip = 0
a.each do |line|
   if line.match("---\n")
     if skip == 1
       skip-=1
     else
       skip+=1
     end
   else
     if skip != 1
       print line 
     end
   end

end

这可行,但是,我认为我的代码很脏,应该清理。如何简化我的代码?

4

1 回答 1

0

这是一项微不足道的任务(假设文件格式正确)。

像这样的东西:

lines = # read lines from file

is_header_mode = false
lines.each do |line|
   if line == '---'
     is_header_mode = !is_header_mode
   else
     puts line unless is_header_mode
   end
end
于 2012-05-27T09:05:32.997 回答