「文字列の中に指定した文字列が存在するか確認するにはどうすればいいの?」
「配列の要素に指定した文字列の値が存在するか確認するにはどうすればいいの?」
Rubyには文字列を検索するさまざまな方法が用意されていますが、このような問題に直面することがあります。
そんなときはinclude?を使用すると便利です。
ここではinclude?について、
・include?で文字列に指定した文字列が存在するか確認する方法
・include?で配列に指定した要素が存在するか確認する方法
・include?で正規表現は可能?
などについてわかりやすく解説していきます。
include?は文字列を検索するときに非常に便利ですので、この機会に覚えておきましょう!
include?とは
include?とは文字列や配列の要素に含まれる文字列に対して、指定した文字列が存在するか確認するときに使用します。
指定した文字列が
- 存在した場合はTrue
- 存在しない場合はFalse
をそれぞれ返します。
include?の書き方:
オブジェクト名.include?("検索文字列")
混同しやすいですがRubyには文字列を検索するinclude?の他にモジュールを呼び出すincludeがあります。
モジュールを呼び出すincludeについては、以下の記事で解説しています!
include?の基本を理解しよう!
ここではinclude?の使い方を見ていきましょう
include?(文字列)の使い方
String型のオブジェクトに対して指定した文字列を検索するには以下のように記述します。
サンプルプログラム:
str = "SamuraiEngineerBlog" puts str.include?("Engineer") puts str.include?("apple")
実行結果:
true false
このサンプルでは文字列”SamuraiEngineerBlog”に対して、include?で”Engineer”と”apple”が存在するか?それぞれ確認しています。
“Engineer”は存在するのでTrueを”apple”は存在しないので”False”を返していることがわかりますね!
include?(配列)の使い方
配列のオブジェクトに対して指定した文字列を検索するには以下のように記述します。
fruits = ["apple", "orange", "melon"] puts fruits.include?("orange") puts fruits.include?("mel")
実行結果:
true false
1つめのinclude?に指定した文字列”orange”は存在するのでTrueを2つめに指定した”mel”は配列に存在しないのでFalseを返しています。
配列をinclude?を使用して文字列検索する場合、部分的に文字列が一致してもFalseになりますので注意しましょう。
include?で正規表現は使える?
include?で正規表現や文字列の複数検索は可能でしょうか?
include?は、
- 文字列に指定した文字列が含まれるか?
- 配列の要素に指定した文字列が存在するか?
を確認する場合に使用します。
そのため、正規表現を使用して一致した文字列を取得したり、複数の文字列を検索することはできません。
Rubyにはinclude?の他にもRubyで文字列を検索するさまざまな方法があります。
詳しくは以下の記事を参考にしてください!
まとめ
ここでは、文字列を検索するinclude?について、
- include?とは
- include?で文字列に指定した文字列が存在するか確認する方法
- include?で配列に指定した要素が存在するか確認する方法
- include?で正規表現は可能?
などについて解説しました。
include?を使用すれば簡単に文字列チェックができますので、使い方はしっかりと理解しておきましょう。
もしinclude?の使い方を忘れてしまったら、この記事を思い出してくださいね!