java 指定した文字列を検索して最初に見つかった位置を取得する

java 指定した文字列を検索して最初に見つかった位置を取得する

javaで、指定した文字列を検索して最初に見つかった位置を取得する手順を記述してます。「indexOf」に位置を見つけたい文字列を指定します。存在しなければ「-1」が返ります。

環境

  • OS windows11 home
  • java 19.0.1

手順

指定した文字列を検索して最初に見つかった位置を取得するには、「indexOf」で可能です。

対象の文字列.indexOf( "文字列" )

※位置は0からで、存在しなければ-1が返ります

実際に、使用してみます。

public class App {
    public static void main(String[] args) throws Exception {

        String str = "mebee";        
        
        System.out.println(str.indexOf("e")); // 1
        System.out.println(str.indexOf("ee")); // 3
        System.out.println(str.indexOf("eb")); // 1
        System.out.println(str.indexOf("ea")); // -1

    }
}

位置が取得されていることが確認できます。

開始位置を指定

第二引数に開始位置を指定することも可能です。

public class App {
    public static void main(String[] args) throws Exception {

        String str = "mebee";        
        
        System.out.println(str.indexOf("e", 2)); // 1        

    }
}

後ろから検索

逆に後ろから検索する場合は「lastIndexOf」を使用します。

public class App {
    public static void main(String[] args) throws Exception {

        String str = "mebee";        
        
        System.out.println(str.lastIndexOf("e")); // 4
        System.out.println(str.lastIndexOf("ee")); // 3
        System.out.println(str.lastIndexOf("eb")); // 1
        System.out.println(str.lastIndexOf("ea")); // -1

    }
}