日本語には文字コードがあった。UNIX で作ったデータならば、 文字コードは変更せずに使用することができた。 egrep_jp.rb
#!/usr/koeki/bin/ruby -Ke while station = gets gets で取ってきた 1 行を変数 station に代入
if /酒?田\s+/e =~ station
# p station print stationendend
となる。実行すると
%./egrep.rb station.dat
本庄早稲田 | 埼玉県 | ほんじょうわせだ | Honjowaseda |
大石田 | 山形県 | おおいしだ | Oishida |
新発田 | 新潟県 | しばた | Shibata |
酒田 | 山形県 | さかた | Sakata |
秋田 | 秋田県 | あきた | Akita |
東酒田 | 山形県 | ひがしさかた | Higashisakata |
羽田 | 東京都 | はねだ | Haneda |
となる。駅名が 「田」 で終わるものを検索した。「中田」 だったか、「酒田」 だったか、それとも 「高田」 なのか、分からないときに使える。
なぜ「田」で終わる駅が検索されたのか、順を追って説明せよ。
/ /e で EUC で探す、という意味である。 Shift JIS では、 / /s を用いる。EUC, Shift JIS は漢字コードと呼ばれる。
e を s に変更した場合、どのような検索結果が出るか。それはなぜだろうか。