Ruby flagによるファイルの特定行の抽出
1
2 text = ""
3 data = "/home/edinet/E30682/S1002C62/index.html"
4
5
6 flag = nil
7 IO.foreach(data) do |line2|
8
9 case line2
10 when /保有目的が純投資目的以外の目的である投資株式の保有区分/
11 flag = true
12
13 when /保有目的が純投資目的である投資株式|監査報酬の内容等/
14 flag = false
15
16 end
17
18 text << line2.chomp if flag == true
19 break if flag == false
20
21 end
22 text.gsub!(/<\/td>/,"\t")
23 text.gsub!(/<\/tr>/,"\n")
24 text.gsub!(/<[^>]+>/,"")
25 print text
26
27
28
やりたいことは
「保有目的が純投資目的以外の目的である投資株式の保有区分」が含まれる行から
「保有目的が純投資目的である投資株式」「監査報酬の内容等」が含まれる行までを取得し、
textにそれらを入れ込む
「保有目的が純投資目的である投資株式」「監査報酬の内容等」が含まれる行まで行くと繰り返しが終了する
です。
しかし、これを実行しても何も表示されないため解決方法について質問させていただきました。
なお、break if flag == false の部分をコメントアウトすると指定していない部分まで取得し、printしてしまいます。
どこを直せば正しく取得できるでしょうか?
どうかご教授の程よろしくお願いいたします。
お礼
ありがとうございます。 数十曲落としていますが、今後は使わないようにします。