|
|
入門編 第5回 文字列操作を覚えながらデートで使った金額を求めるプログラムを作成する
出典:日経ソフトウエア 2008年11月号
pp.100-107
(記事は執筆時の情報に基づいており、現在では異なる場合があります) けだるい夏の早朝,突然携帯電話が鳴った。午前6時に電話をかけてくる人は,ある程度限られている。いくら休日とはいえ,朝の6時に用事がある人なんてあまりいない(ちなみに僕は休みの日でも早起きしている)。嫌な予感とともに携帯電話を見ると,やはり大学以来の友人Kだった。 電話に出て最初の言葉が「やぁ!」でも「おはよう!」でもなく「ところで…」だった。つい電話を切りたくなる。朝の6時にコール音3回までに電話に出たのだ。それくらいは許されるだろう。しかし切ったとしても,また電話をかけてくるだろうから,僕はそのまま会話を続けることにした。 友人Kの電話内容は予想通りだった。また何かしらのツールを作れという。どうやら今回は「デートで使った金額を計算するツール」が欲しいらしい。やれやれ,どんな事情があるのかは知らないが,それが休日の早朝に急を要することなのだろうか。 というわけで,今回は友人Kのためにツールを作りながら,Rubyにおいて頻繁に利用する文字列操作を押さえておこう。 文字列操作においては,非常に強力な武器となる正規表現*1という機能がある。今回はそこまでは踏み込まずに,基本的な文字列操作をしっかり説明しよう。 よく使うメソッドを振り返る文字列操作でよく使用されるメソッドを表1に示す。この連載で登場したメソッドも含まれるが,順番に見ていこう。 表1●文字列操作でよく使用されるメソッド
gsub(pattern , replace) gsubは,文字列置換のためのメソッドだ。リスト1のように使用する。
リスト1●文字列を置換するgsubメソッドの例
図1●gsubメソッドを使って文字列を置き換えた実行結果の画面
gsubは基本的に二つの引数を取る。第1引数で置き換えたい文字列を指定し,第2引数で変換後の文字列を指定する。今までの連載やリスト1のサンプル・プログラムでもそうだが,第1引数に文字列を指定している。ここに正規表現を指定することもできる。実行結果が図1だ。「q」という文字が「k」に変更されている。 include?(substr)
図2●文字列の中に指定した文字列が存在するか尋ねた実行結果の画面
次にinclude?メソッドを見てみよう。これも以前に登場した。文字列の中に,指定した文字列が存在するかどうかを尋ねるメソッドだ。リスト2のように記述する。文字列が存在するときは「true」を返し,存在しないときは「false」を返す。実行結果は図2の通りだ。
リスト2●文字列の中に指定した文字列があるか尋ねるinclude?メソッド
>>size
連載新着連載目次へ >>
|