Java startsWith/endsWith 文字列の始まり/終わりを確認

Javaの文字列の始まりと終わり(先頭と末尾)を真偽値で確認するサンプルです。
startsWithメソッドとendsWithメソッドを使用します。

目次

文字の始まり 文字の始まりを真偽値で確認する(startsWithの引数1つ)
  文字の始まりを真偽値で確認する(startsWithの引数2つ)
文字の終わり 文字の終わりを真偽値で確認する(endsWith)

文字の始まりを真偽値で確認する(startsWithの引数1つ)

public boolean startsWith(String prefix))
  • 文字列が指定した引数で始まっていればtrueを返します。それ以外の場合はfalseを返します。
  • Stringクラスのメソッドです。
package test1;

public class Test1 {
	public static void main(String[] args) {
 
		String str1 = "あいうえお";
		
		if (str1.startsWith("あいう")){
			System.out.println("OK"); // OKが出力される
		}else {
			System.out.println("NG");
		}
		
		String str2 = "ABCDE";
		
		if (str2.startsWith("abc")){
			System.out.println("OK");
		}else {
			System.out.println("NG"); // NGが出力される
		}
	}
}

8行目は、if文とstartsWithで文字列が「あいう」で始まっているか判定し一致するのでtrueが返ります。
16行目は、英字の大文字と小文字は一致していない判定となるのでfalseになります。

以下はJava8 API仕様のstartsWithメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#startsWith-java.lang.String-

 

文字の始まりを真偽値で確認する(startsWithの引数2つ)

public boolean startsWith(String prefix, int toffset)
  • 2つ目の引数は比較を開始する位置です
  • 文字列が指定した引数で始まっていればtrueを返します。それ以外の場合はfalseを返します。
  • 最初の1文字目の位置は0から始まります。

startsWithメソッドの引数が2つあるサンプルです。

package test1;

public class Test1 {
	public static void main(String[] args) {
 
		String str1 = "あいうえお";
		
		if (str1.startsWith("あいう",0)){
			System.out.println("OK"); // OKが出力される
		}else {
			System.out.println("NG");
		}
		
		if (str1.startsWith("あいう",1)){
			System.out.println("OK");
		}else {
			System.out.println("NG"); // NGが出力される
		}
		
		if (str1.startsWith("いうえ",1)){
			System.out.println("OK"); // OKが出力される
		}else {
			System.out.println("NG");
		}
	}
}

8行目は、2つ目の引数が0です。文字列「あいうえお」の「あいう」と「あいう」で比較します。trueです。
10行目は、2つ目の引数が1です。文字列「あいうえお」の2文字目からで「いうえ」と「あいう」で比較します。falseになります。
12行目も、2つ目の引数が1です。文字列「あいうえお」の2文字目からで「いうえ」と「いうえ」で比較します。trueになります。

以下はJava8 API仕様のstartsWithメソッド(引数2つ)のリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#startsWith-java.lang.String-int-

 

文字の終わりを真偽値で確認する(endsWith)

public boolean endsWith(String suffix)
  • 文字列が指定した引数で終わっていればtrueを返します。それ以外の場合はfalseを返します。
  • Stringクラスのメソッドです。
package test1;

public class Test1 {
	public static void main(String[] args) {
 
		String str1 = "あいうえお";
		
		if (str1.endsWith("えお")){
			System.out.println("OK"); // OKが出力される
		}else {
			System.out.println("NG");
		}
		
		String str2 = "ABCDE";
		
		if (str2.endsWith("de")){
			System.out.println("OK");
		}else {
			System.out.println("NG"); // NGが出力される
		}
	}
}

8行目は、if文とendsWithで文字列が「えお」で終わっているか判定し一致するのでtrueが返ります。
16行目は、英字の大文字と小文字は一致していない判定となるのでfalseになります。

以下はJava8 API仕様のendsWithメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#endsWith-java.lang.String-

関連の記事

Java 文字列の長さを取得するサンプル(length)
Java trim/strip 文字列の先頭末尾の空白を削除
Java 大文字と小文字を変換(toLowerCase/toUpperCase)

△上に戻る