基礎プログラミング I 第 7 回 (正規表現と Ruby 言語でのプログラミング) 「駅名だけを切り出そう」 講義ノート目次

データ部分を ( ) で囲うと、必要な情報だけを取り出すことができた。 onzen あるいは onsen (温泉) に行きたいという客のためには

% ./regexp_cutout.rb station.dat
検索パターン : on[sz]en
かみのやま温泉駅
あつみ温泉駅

と駅名だけが出力された方が分かりやすい。このようにするために、 切り出すプログラム部分を作ろう。 regexp_cutout.rb を作る。 regexp_stdin.rb を少し変更して作る。


#!/usr/koeki/bin/ruby
#coding: euc-jp
		       
STDERR.print("検索パターン : ") 
pattern = STDIN.gets.chomp 
request = Regexp.new(pattern, true) 

while  station = gets 
if request =~ station
# print station if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =˜ station
printf("%s駅\n", $1)
end
end
end

実行し、上のように出力されるか確かめよう。

外国人向けに、駅名を英語で出力するにはどうしたらよいか。