Hatena::Grouprubyist

てーげーRuby

2008-07-06

練習問題 正規表現(Regexp)クラス

| 23:57

(1)電子メールのアドレスは「ローカルパート@ドメイン名」という形になっています。このような文字列から、ローカルパートを$1として、またドメイン名を$2として取得する正規表現を作ってください。

これじゃ端折りすぎですか・・

irb(main):027:0> "yaruo-yaranaio@hoge.jp" =~ /(.+?)@(.+)$/
=> 0
irb(main):028:0> $1
=> "yaruo-yaranaio"
irb(main):029:0> $2
=> "hoge.jp"


(2)「"オブジェクト指向は難しい!なんて難しいんだ!"」という文字列を、gsubメソッドを使って「"オブジェクト指向は簡単だ!なんて簡単なんだ!"」という文字列に直してください。

irb(main):033:0> puts "オブジェクト指向は難しい!なんて難しいんだ!".gsub(/難しいんだ/, "簡単なんだ").gsub(/難しい/,"簡単だ")
オブジェクト指向は簡単だ!なんて簡単なんだ!
=> nil


(3)アルファベットとハイフンからなる文字列を与えられると、ハイフンで区切られた部分をCapitalizeするようなメソッドword_capitalizeを定義してください。

p word_capitalize("in-reply-to") #=> "In-Replay-To"

p word_capitalize("X-MAILER") #=> "X-Mailer"

irb(main):040:0> def word_capitalize(str)
irb(main):041:1>    str.split('-').each do |e| e.capitalize! end.join('-')
irb(main):042:1> end
=> nil
irb(main):043:0> word_capitalize("in-reply-to")
=> "In-Reply-To"
irb(main):044:0> word_capitalize("X-MAILER")
=> "X-Mailer"

あれ正規表現つかってないや。