- # Ruby入門 > コマンドラインオプション
正規表現を使ってファイルのデータを抽出
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
ファイルの中から、正規表現を用いて、特定のパターンを含む行のみを抽出してみます。
まずは、データファイルの中身です。
スポンサーリンク
month.dat
January February March April May June July August September October November December
実行ファイルです。
month.rb
pattern = Regexp.new(ARGV[0]) filename = ARGV[1] file = open(filename) count = 0 # データ数(行数) while data = file.gets # 1行ずつデータ読み込み if pattern =~ data puts data count += 1 end end print "count: ", count, "\n" file.close
「pattern = Regexp.new(ARGV[0])」で正規表現オブジェクトを作り、while文の中の「if pattern =~ data」でパターンマッチングを評価しています。
month.datのデータから、文字列「ber」を含む月のみを抽出してみます。
一つ目の引数にパターン(ARGV[0])、2つ目の引数にファイル名(ARGV[1])を指定して、コマンドラインからmonth.rbを実行します。
ruby month.rb ber month.dat
と、コマンドラインから実行を行いますと、実行結果は・・・。
September October November December count: 4
となります。
スポンサーリンク
>> 次の記事 : デバッグ・動作確認のコマンドラインオプション
<< 前の記事 : ファイルからデータを1行ずつ読み込む
- - 関連記事 -
- ワンライナーのコマンドラインオプション
- デバッグ・動作確認のコマンドラインオプション
- ファイルからデータを1行ずつ読み込む
- ファイルからデータを読み込む
- ARGV・コマンドラインでの引数入力
- 出力をファイルに保存する
スポンサーリンク