こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、12年目エンジニアです。
この記事では、 Javaで指定の文字列で始まっているかを確認できるString.startsWithメソッドについて
- String.startsWithメソッドとは
- String.startsWithメソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
IntelliJ IDEAのエディション | Community(無料版) |
IntelliJ IDEAのバージョン | 2021.3.2 |
プロジェクト | Javaプロジェクト |
SDK | Oracle OpenJDK version17.0.2 |
Javaを動かすためにIntelliJ IDEAを使っています。
IntelliJ IDEAのインストールは、下の記事をご参考ください。
String.startsWithメソッドとは
String.startsWithメソッドとは、呼び出した文字列が引数で指定した文字列で始まっているかどうかを判定し結果をbooleanで返すメソッドです。
始まっている場合はtrue、そうでない場合はfalseを返します。
String.startsWithメソッドは使い方が
- パターン1:検索文字列のみ指定
- パターン2:検索文字列と開始位置を指定
の合計2パターンあります。
それぞれ解説します。
パターン1:検索文字列のみ指定
使い方サンプルは以下です。
1 2 |
String sample = "sample"; boolean result = sample.startsWith("sa"); |
検索文字列のみ指定してString.startsWithメソッドを使った場合、呼び出している文字列が引数に指定した文字列から始まっているかどうかを判定してbooleanを返します。
上記の例だと、変数resultには呼び出している文字列「sample」は「sa」から始まっているので
1 |
true |
が返されます。
パターン2:検索文字列と開始位置を指定
使い方サンプルは以下です。
1 2 |
String sample = "sample"; boolean result = sample.startsWith("mp", 2); |
検索文字列と開始位置を指定してString.startsWithメソッドを使った場合、第二引数の開始位置から第一引数で指定した文字列から始まっているかどうかを判定してbooleanを返します。
上記の例だと、変数resultには呼び出している文字列「sample」のインデックスが2の文字列は「mp」から始まっているので
1 |
true |
が返されます。
では、次の章で実際に使ってみます。
String.startsWithメソッドを解説するプログラムの概要
String.startsWithメソッドを解説するプログラムでは
- 検索文字のみ指定
- 検索文字列と開始位置を指定
の2パターンに対してでそれぞれ
- 指定した文字列で始まっている場合
- 指定した文字列で始まっていない場合
の2ケース合計4ケースでString.startsWithメソッドを使って、結果を表示させます。
解説で使うJavaプログラムは、Sampleプロジェクトのsampleパッケージ内にある、とします。
Javaサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
package sample; public class Sample { public static void main(String[] args) { System.out.println("■String.startsWithメソッドサンプル"); System.out.println("①検索文字列のみ指定"); String hello = "Hello World"; System.out.println("確認する文字列:" + hello); System.out.println("・指定した文字列で始まっている場合"); String checkWord1 = "He"; if (hello.startsWith(checkWord1)) { System.out.println(hello + "は「" + checkWord1 + "」で始まっている"); } else { System.out.println(hello + "は「" + checkWord1 + "」で始まっていない"); } System.out.println("・指定した文字列で始まっていない場合"); String checkWord2 = "aaa"; if (hello.startsWith(checkWord2)) { System.out.println(hello + "は「" + checkWord2 + "」で始まっている"); } else { System.out.println(hello + "は「" + checkWord2 + "」で始まっていない"); } System.out.println("②検索文字列と開始位置を指定"); String ohayo = "おはようございます"; System.out.println("確認する文字列:" + ohayo); System.out.println("・指定した文字列で始まっている場合"); String checkWord3 = "ござ"; int checkIdx3 = 4; if (ohayo.startsWith(checkWord3, checkIdx3)) { System.out.println(ohayo + "はインデックスが「" + checkIdx3 + "」から「" + checkWord3 + "」で始まっている"); } else { System.out.println(ohayo + "はインデックスが「" + checkIdx3 + "」から「" + checkWord3 + "」で始まっていない"); } System.out.println("・指定した文字列で始まっていない場合"); String checkWord4 = "おは"; int checkIdx4 = 2; if (ohayo.startsWith(checkWord4, checkIdx4)) { System.out.println(ohayo + "はインデックスが「" + checkIdx4 + "」から「" + checkWord4 + "」で始まっている"); } else { System.out.println(ohayo + "はインデックスが「" + checkIdx4 + "」から「" + checkWord4 + "」で始まっていない"); } } } |
実行結果
Javaプログラムを実行します。
実行のやり方は
- プログラムを右クリックして実行
- 実行タブから実行
- ガターから実行
の3種類あるので、いずれかで実行します。
詳しい解説は以下の記事をご参考ください。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
■String.startsWithメソッドサンプル ①検索文字列のみ指定 確認する文字列:Hello World ・指定した文字列で始まっている場合 Hello Worldは「He」で始まっている ・指定した文字列で始まっていない場合 Hello Worldは「aaa」で始まっていない ②検索文字列と開始位置を指定 確認する文字列:おはようございます ・指定した文字列で始まっている場合 おはようございますはインデックスが「4」から「ござ」で始まっている ・指定した文字列で始まっていない場合 おはようございますはインデックスが「2」から「おは」で始まっていない |
指定した文字列で始まっているどうか判定できていることが確認できました。
まとめ:String.startsWithメソッドを使ってみよう!
以上がJavaのString.startsWithメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント