はじめてのRuby!include?で文字列を検索してみよう!

「文字列の中に指定した文字列が存在するか確認するにはどうすればいいの?」
「配列の要素に指定した文字列の値が存在するか確認するにはどうすればいいの?」

Rubyには文字列を検索するさまざまな方法が用意されていますが、このような問題に直面することがあります。

そんなときはinclude?を使用すると便利です。

ここでは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?の使い方を忘れてしまったら、この記事を思い出してくださいね!

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部として、これまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。プログラミング初学者に向けてわかりやすく、ためになるコンテンツ作りを心がけています。

おすすめコンテンツ

まずはここから!初心者でも1から学べるプログラミング入門カリキュラム

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー