##前提・実現したいこと
Ruby2.2でmatchメソッドを使って特定文字列の抜き出し処理を実装しました。
マッチしなかった場合には、空文字"" が返るようにしています。
処理としては実現できているのですが、ただ、文字を抜き出すのに遠回りなことをしているように思うのです。
簡潔に文字を取得するメソッドや方法は何かないでしょうか。
##改善点・良い方法
Ruby
1"hello john".match(/^hello (.*)/).to_a.last.to_s 2#=> "john"
やっている事と遠回りに思う所は以下です。
- matchを使って文字を抜き出す。#文字だけが返ってほしいがnilが返る。
- nilが返る可能性があるので、Arrayに変換する。#to_sで文字列として取得したいが、文字だけにならない。capturesはnilが返るため使えなかった。
- 文字列を取得するため、最後の要素を取得する。 #Arrayなので要素を取得する必要がある。
- nilが返る可能性があるので、文字列に変換する。#ふたたびnilが返る可能性がある。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/27 15:02