Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
文字列.include? / start_with? / end_with?
文字列に特定の部分文字列が含まれているか、または特定の文字列で始まる・終わるかを判定するメソッドです。
構文
# 部分文字列が含まれているか判定します。 文字列.include?(検索文字列) # 指定した文字列で始まるか判定します。 文字列.start_with?(prefix) # 指定した文字列で終わるか判定します。 文字列.end_with?(suffix)
メソッド一覧
| メソッド | 概要 |
|---|---|
| include?(str) | 文字列に引数の文字列が含まれていれば『true』を返します。大文字と小文字は区別されます。 |
| start_with?(prefix, ...) | 文字列が指定したプレフィックスで始まれば『true』を返します。複数の引数を指定すると、いずれかに一致した場合に『true』を返します。 |
| end_with?(suffix, ...) | 文字列が指定したサフィックスで終われば『true』を返します。複数の引数を指定できます。 |
サンプルコード
文章 = "Rubyはオブジェクト指向言語です。"
# 部分文字列の存在確認をします。
puts 文章.include?("Ruby") # true
puts 文章.include?("Python") # false
puts 文章.include?("ruby") # false(大文字小文字を区別します)
# 始まりを確認します。
puts 文章.start_with?("Ruby") # true
puts 文章.start_with?("Python") # false
# 複数の候補を指定できます。
puts 文章.start_with?("Python", "Ruby", "Java") # true
# 終わりを確認します。
puts 文章.end_with?("です。") # true
puts 文章.end_with?("ます。") # false
# URLのバリデーションに活用できます。
url = "https://example.com"
if url.start_with?("https://")
puts "安全なURLです。" # こちらが出力されます。
else
puts "HTTPSではありません。"
end
# ファイル拡張子の確認に活用できます。
ファイル名 = "image.png"
puts ファイル名.end_with?(".png", ".jpg", ".gif") # true
概要
『include?』は文字列の中に指定した部分文字列が含まれているかを判定します。大文字と小文字は区別されるため、大文字小文字を無視して検索したい場合は『downcase』などで揃えてから比較してください。
『start_with?』と『end_with?』は複数の引数を指定でき、いずれかに一致すれば『true』を返します。URLのスキーム確認やファイル拡張子のチェックなど、実用的な場面で活躍します。
部分文字列の位置(インデックス)を取得したい場合は『index / rindex』を使用してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。