Javaでの2番目の出現箇所のインデックスを取得する方法


  1. indexOfとsubstringを使用する方法:

    String str = "あなたの文字列";
    String target = "検索する文字列";
    
    int firstIndex = str.indexOf(target);
    int secondIndex = str.indexOf(target, firstIndex + 1);
    
    System.out.println("2番目の出現箇所のインデックス: " + secondIndex);
  2. 正規表現を使用する方法:

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    String str = "あなたの文字列";
    String target = "検索する文字列";
    
    Pattern pattern = Pattern.compile(target);
    Matcher matcher = pattern.matcher(str);
    
    int count = 0;
    int secondIndex = -1;
    
    while (matcher.find()) {
       count++;
    
       if (count == 2) {
           secondIndex = matcher.start();
           break;
       }
    }
    
    System.out.println("2番目の出現箇所のインデックス: " + secondIndex);
  3. Apache Commons Langライブラリを使用する方法:

    import org.apache.commons.lang3.StringUtils;
    
    String str = "あなたの文字列";
    String target = "検索する文字列";
    
    int secondIndex = StringUtils.ordinalIndexOf(str, target, 2);
    
    System.out.println("2番目の出現箇所のインデックス: " + secondIndex);

これらの方法を使用して、Javaで2番目の出現箇所のインデックスを取得できます。選択した方法に応じて、コードを調整してください。また、検索対象の文字列やターゲット文字列に応じて、エスケープやエラーハンドリングを行う必要があるかもしれません。