From: m-hatake@... Date: 2008-03-11T21:17:07+09:00 Subject: [ruby-list:44752] Re: テキストファイルの文字列検索 畠山です。 るびきちさんが書いたのと同じような処理が別の 書き方でもできるので、わたしの知っている範囲で。 参考までに。 以下は全部 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/} わたしの基本的な理解では、grep, selectは配列のメソッドで (厳密にはEnumerableモジュールのメソッドでeachメソッドが定義されているクラスのメソッド?) a = ["aaa","bbb","ccaacc","ddd"] p a.grep(/aa/) のように使うのが基本的になると思っています。 -- hatakeyama m-hatake [at] jaist.ac.jp From: Kabu and Ruby管理人 Subject: [ruby-list:44750] Re: テキストファイルの文字列検索 Date: Tue, 11 Mar 2008 19:25:16 +0900 > お世話になります。 > そんなものがありましたか!!(あたりまえですね、、、) > これですっきり記述できます!! > > Kabu and Ruby管理人 > Web site: 『Rubyを使ってみよう!!』 http://www.geocities.jp/kabuandruby/ > e-mail: kabu_and_ruby@ybb.ne.jp > > > > ----- Original Message ----- > From: > To: "ruby mailing list" > Sent: Tuesday, March 11, 2008 7:00 PM > Subject: [ruby-list:44749] Re: テキストファイルの文字列検索 > > > > From: Kabu and Ruby管理人 > > Subject: [ruby-list:44747] テキストファイルの文字列検索 > > Date: Tue, 11 Mar 2008 17:59:56 +0900 > > > > るびきちです。 > > > >> いつもありがとうございます。 > >> テキストファイルから、特定の文字列を含む行を配列として取得するために下記のようにしましたが、もっとよい方法はありますでしょうか? > > > > File.readlines(ファイル名).grep(正規表現) > > > > File.readlinesでファイルを行の配列にし、grepで正規表現にマッチするものに絞り込みます。 > > ちなみに正規表現にマッチする行を抜き出すUnixコマンドもgrepです。 > > -- > > rubikitch > > Blog: http://d.hatena.ne.jp/rubikitch/ > > Site: http://www.rubyist.net/~rubikitch/ > > >