Skip to content

文字列に数値が含まれているか判定する

Published: at 12:02

Table of contents

Open Table of contents

Rubyである文字列wordに数値が含まれているかどうかをBoolean値で判定するには次のようにする

 def self.include_number?(word)    (word =~ /[0-9]/) != nil end

docs.ruby-lang.org

String#=~は、正規表現を引数にとり、マッチすればそのインデックスを、そうでなければnilを返す。

このメソッドでは、nilと比較することで、

  • 見つからない場合はnil != nilfalseを返す
  • 見つかった場合は3 != nilのようになり、trueを返す

という仕組み。