テキストファイルの文字列検索

ruby-listより
テキストファイルの文字列について

いつもありがとうございます。
テキストファイルから、特定の文字列を含む行を配列として取得するために下記のようにしましたが、もっとよい方法はありますでしょうか?

テキストファイルの文字列検索

上のレス

以下は全部


File.readlines("test.dat").grep(/aa/)


と同じ処理になると思います。


b = open("test.dat").to_a.grep(/aa/)
c = open("test.dat").grep(/aa/)
d = File.new("test.dat").grep(/aa/)
e = open("test.dat").select{|i| i =~ /aa/}

Re: テキストファイルの文字列検索

> c = open("test.dat").grep(/aa/)

開いたままで後片付(close)をしないのはいまいち行儀がよくないので
c = open("test.dat"){|i| i.grep(/aa/) }
の方がよい。ブロックをつけると後片付もしてくれる。

Re: テキストファイルの文字列検索

なるほど。こんなに短くできるんだ。

IO#readlineは、すべての行を読み込んで、配列に格納するメソッド。

#!ruby -Ks

result = File.readlines('Text.txt').grep(/aaa/)
if result == true
 puts result
else
 puts "見つかりません。"
end

こんな風に使ってみた。