##はじめに
今回はsubメソッドを使って実践的な使い方を紹介したいと思います。
よろしくお願いします。
##subメソッドの応用
前回subメソッドを使って、文字列の置換えができることを紹介しました。
応用として、もし、ある文字列を取り除きたいという時にもsubメソッドが使えます。
例えば電話番号のハイフンを取り除きたい時に、置き換えられる文字列をハイフンにし(第一引数)、空の文字列に置き換えるように第二引数を指定すれば、取り除くということが実現できます。
しかしながらsubメソッドは、指定した文字列を、最初の一文字だけしか置換えてくれません。
irb(main):001:0> tel = '090-1234-5678'
=> "090-1234-5678"
irb(main):002:0> tel.sub(/-/,'')
=> "0901234-5678"
# 最初のハイフンしか置換されない
そこで、指定した文字列を一つだけではなく、全てを置換えてくれるgsubメソッドを使用します。使い方は同じです。
##gsubメソッドでハイフンを取り除く
gsubメソッドのgはグローバルマッチから来ています。subメソッドと使い方は同じなので簡単です、
irb(main):001:0> tel.gsub(/-/,'')
=> "09012345678"
きれいにハイフンを全て取り除くことができました。
##最後に
置き換えるという機能を持ったsubメソッドですが、第二引数に空の文字列を指定することで取り除くということを実現できました。
なんだかトンチが効いてるというか、ものは考えようですね。