From: Yasunari Momoi Date: 1997-09-04T11:06:28+09:00 Subject: [ruby-list:4096] [Q] 文字列処理 ももちゃん@あるもにこすです. ずいぶん前から ML にはいたんですが,ようやく最近プログラムを はじめました (^^;).時々質問すると思うので,今後もよろしくお 願いします (_ _). 早速質問なんですが,次のようなものをエレガントに処理したいん ですが,どう書くのが一番美しく書けるのでしょうか? 私は if 文を並べる方法しか思い付きませんでした... lines = [ "field-a: hoge a1\n", "field-b: hoge b\n", "field-c: hoge c\n", "field-d: hoge d\n", "field-e: hoge e\n", "field-a: hoge a2\n ge\n", "field-a: hoge a3\n gege\n", "field-a: hoge a4\n gegege\n", ] # field-a, field-b は全部取り出す. # (元の文字列の状態を保存する) # field-d は取り出した後に加工したい. target = [] lines.each { |l| if (l =~ /^field-a: /) target << l elsif (l =~ /^field-b: /) target << l elsif (l =~ /^field-d: /) line = l.clone # なんか書換える target << line end } やっぱこのくらいしかないのかなぁ... -- Yasunari Momoi , Armonicos Corp. WIDE: , JLUG: