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

プログラミング学習を効率良く進めたいなら…

学習を始めたけどエラーが解決できない
作りたいものはあるけど、何から始めればいいかわからない
プログラミングに対して、このような悩みを持っている方も多いですよね。

そんな方には、弊社が運営するサブスク型のプログラミングスクール「SAMURAI ENGINEER Plus+がおすすめです。



月額2980円(税別)で、主に4つのサービスを提供させていただきます。

  • 現役エンジニアによる月1度の「マンツーマン指導」
  • 平均回答時間30分の「Q&Aサービス」
  • 作りながら学べる28種類の「教材」
  • 学習を記録&仲間と共有できる「学習ログ」

目的にあった教材を選べば、どなたでも効率よく学習できるほか、Q&Aサービスやマンツーマン指導を活用することで、挫折せずにプログラミングの習得が可能です。

プログラミングを効率的に学びたい人はもちろん、何から始めたらよいのかわからない方は、ぜひ「SAMURAI ENGINEER Plus+」をご利用ください。
まずは30日無料体験

書いた人

侍テック編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら