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)