【Java】indexOfメソッドを使って文字列(String)に特定の文字列が含まれるか調べる!

indexOfメソッドを使用することで、文字列に特定の文字列が含まれるか調べることができます。

indexOfメソッドは、あるキーワードで検索する場合にそのキーワードを含めてリストにして表示したい場合に使われることがあります。
また、配列の中から指定した要素があるかどうかを検索する時にも使われることがあります。

今回はindexOfメソッドを使って以下の場合に文字列に特定の文字列が含まれるか調べていきます。

特定の文字列が含まれているか確認する場合
特定の小文字が含まれているか確認する場合
特定の大文字が含まれているか確認する場合

また、lastIndexOfメソッドを使って文字列内に特定の文字列が含まれるかを末尾から調べる方法についても紹介します。

indexOfメソッドとは

indexOfメソッドは、文字列内にパラメータで指定した文字列が含まれているかを調べることができるメソッドになります。

indexOfメソッドの書き方

indexOfメソッドの構文は下記となります。

indexOfの()に検索文字を指定することで文字列の中から検索文字が最初に出てくる位置を戻します。
しかし、文字列の中から検索文字が存在しなかった場合は「-1」を戻します。

indexOfメソッドを使ったサンプルコード

indexOfで特定の文字列が含まれるかを調べるサンプルコードを紹介します。

特定の文字列が含まれているか確認する場合

出力結果

「文字列」が含まれる
0

「文字列」という言葉が含まれているので「文字列」が含まれると出力されます。
そして「文字列は」1番目にありますので「0」を戻します。

特定の小文字が含まれているか確認する場合

出力結果

「t」が含まれる
7

「t」という小文字が含まれているので「t」が含まれると出力されます。
そしてtは8番前にありますので「7」を戻します。

特定の大文字が含まれているか確認する場合

出力結果

「A」が含まれない
-1

「A」の小文字は含まれていますが、「A」の大文字は含まれていませんので「A」が含まれないと出力されます。
そして含まれない為、「-1」を戻します。

今回のポイント

特定の文字列が含まれるかを調べるにはindexOfを使用する

文字列内に特定の文字列が含まれるかを調べるにはindexOfメソッドを使用する

indexOfメソッドで、文字列内にパラメータで指定した文字列が含まれているかを調べることができる

• 文字列が含まれているかを調べる場合、大文字小文字は区別される

• パラメータで指定した文字列が1文字目にある場合は「0」、2文字目にある場合は「1」を戻すように文字列内にパラメータで指定した文字列が最初に出現する位置を戻す

• 文字列内にパラメータで指定した文字列が存在しない場合は「-1」を戻す

補足

末尾から文字列内に特定の文字列が含まれるかを調べるには

lastindexOfメソッドを使用することで、文字列内に特定の文字列が含まれるかを末尾から調べることができます。
lastindexOfメソッドは、文字列内にパラメータがあるかどうかを末尾から調べて出現する位置を戻すメソッドとなり、戻す値はindexOfメソッドと同様に文字列の先頭から数えた位置になります。

パラメータで指定した文字列が存在しない場合は、indexOfメソッドと同様に「-1」を戻します。

末尾から文字列内に特定の文字列が含まれるかを調べるサンプルコードをを紹介します。

出力結果

「文字列」が含まれる
8
「t」が含まれる
15
「A」が含まれない
-1

indexOfメソッドで紹介したサンプルコードの結果と同じですが、戻す値は文字列の末尾から検索した位置を返しています。

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し