Java

【Java】文字列の検索 contains,indexOfなど

Java

特定のデータに対して文字列で検索を行う方法について解説しています。

使用するメソッドがcontainsメソッド、startsWithメソッド、

endsWithメソッド、indexOfメソッド、lastIndexOfメソッド

上記5種類のメソッドの使用方法などまとめています。

文字列を検索するメソッドの解説

各メソッドごとの使い方をまとめています。

メソッド説明
public boolean contains(String s)対象にsが含まれているか
public boolean startsWith(String s)文字列sで始まっているか
public boolean endsWith(String s)文字列sで終わっているか
public int indexOf(String s)文字列sが前から何番目の位置に存在するか
public int lastIndexOf(String s)文字列sが後ろから何番目の位置に存在するか

  

  

サンプルコード

 

containsメソッド

containsメソッドの記載方法は

文字列.contains(調べたい文字列)

調べたい文字列が含まれていた場合、true

含まれていなかった場合、falseが返します。

 

public class Main {
    public static void main (String[] args) {
        String str = "あいうえおかきくけこ";
        if (str.contains("おかき")) {
            System.out.println("含まれています");
        } else {
            System.out.println("含まれてません");
        }
    }
}
実行結果
含まれています

  

  

startsWith,endWithメソッド

 

文字列.startsWith(調べたい文字列)
文字列.endsWith(調べたい文字列)

startsWithメソッドは文字列が特定の文字列から始まっているか調べ、

始まっていたらtrue、そうでなければfalseが返却されます。

endsWithメソッドは文字列が特定の文字列で終了しているか調べ。、

特定文字で終了している場合true、そうでなければfalseを返します。

  

public class Main {
    public static void main (String[] args) {
        String str = "あいうえおかきくけこ";
        if (str.startsWith("あいう")) {
            System.out.println("strの開始文字は「あいう」です");
        } else {
            System.out.println("strは「あいう」で始まりません。");
        }

        if (str.endsWith("けこ")) {
            System.out.println("strの終了文字は「けこ」です");
        } else {
            System.out.println("strは「けこ」で終わりません。");
        }
    }
}
実行結果
strの開始文字は「あいう」です
strの終了文字は「けこ」です

  

indexOf,lastIndexOfメソッド

書き方は以下の通りです。

文字列.indexOf(検索したい文字列)
文字列.lastIndexOf(検索したい文字列)

indexOfは検索文字列があった場合、初めの文字列の

先頭位置の0から始まる数値を返却します。

lastIndexOfは反対に後方から検索文字列を検索し

初めにみつけた文字列のインデックス番号を返却します。

文字列が見つからなかった場合、-1が返却されます。

 

public class Main {
    public static void main (String[] args) {
        String str = "あいうあいうあいう";
        if (str.indexOf("あいう") != -1) {
            System.out.println("含まれています。インデックス番号は" + str.indexOf("あいう"));
        } else {
            System.out.println("含まれてません");
        }

        if (str.lastIndexOf("あいう") != -1) {
            System.out.println("含まれています。インデックス番号は" + str.indexOf("あいう"));
        } else {
            System.out.println("含まれてません");
        }
    }
}
実行結果
含まれています。インデックス番号は0
含まれています。インデックス番号は6

検索文字列の先頭のインデックス番号が返されています。

スポンサーリンク
在宅最高思想のエンジニア