lastIndexOfメソッド - StringBuilderクラス - 萌えJava超入門
StringBuilderクラス

lastIndexOfメソッド

引数の文字列を後ろから検索してが最初に見つかった位置を返します。

lastIndexOf

目次

1. lastIndexOfメソッド


引数が String一つだけの場合は、自身の文字列の末尾から検索して
指定された文字列が最初に出現する位置のインデックスを返します。

 public int lastIndexOf(String str)

lastIndexOfメソッド 書式
StringBuilder sb;
String str;
   int inte = sb.lastIndexOf(str);

その他
引数に指定した文字列が含まれていない場合は「-1」を返します。



自身の文字列を、指定されたインデックス(int fromIndex)から後ろ向きに検索して、
指定された文字列(String str)が最初に出現する位置のインデックスを返します。
2つ目以降の出現箇所を探す場合に利用できます。
サンプルコードをご参考にしてください。

 public int lastIndexOf(String str, int fromIndex)

lastIndexOfメソッド 書式
StringBuilder sb;
String str;
int fromIndex;
   int inte = sb.lastIndexOf(str, fromIndex);

その他
  指定されたインデックスよりも前に
  引数に指定した文字列が含まれていない場合は「-1」を返します。



2.サンプルコード

萌えJava超入門
基本的には前のページで紹介した
Sample07_01.java と同じだ。
//Sample08_01.java

class Sample08_01{
    public static void main(String[] args){

      StringBuilder sb = new StringBuilder();
      sb.append("キレンジャー黄瀬涼太\n");
      sb.append("ミドレンジャー緑間真太郎\n");
      sb.append("アオレンジャー青峰大輝\n");
      sb.append("ムラサキレンジャー紫原敦\n");
      sb.append("アカレンジャー赤司征十郎\n");
      System.out.println(sb.toString());
      int sbLength = sb.length();
      System.out.println("sbLength: " + sbLength);

      String searchWord = "レンジャー";
      int length = searchWord.length();
      int fromIndex = sbLength-1;

      while((fromIndex = sb.lastIndexOf(searchWord, fromIndex)) != -1){
          System.out.print("index: " + fromIndex);
          String hitWord = sb.substring(fromIndex, fromIndex + length +1);
          System.out.println("\t hitWord: " + hitWord);
          fromIndex--;  //重複ヒットを避けるため、一文字移動
          if(fromIndex<0)break;
      }
    }
}

コマンドライン
>cd ws
ws>javac -encoding UTF-8 Sample08_01.java
ws>java Sample08_01
キレンジャー黄瀬涼太
ミドレンジャー緑間真太郎
アオレンジャー青峰大輝
ムラサキレンジャー紫原敦
アカレンジャー赤司征十郎

sbLength: 62
index: 51        hitWord: レンジャー赤
index: 40        hitWord: レンジャー紫
index: 26        hitWord: レンジャー青
index: 13        hitWord: レンジャー緑
index: 1         hitWord: レンジャー黄


萌えJava超入門 萌えJava超入門
検索結果が逆向きに
なりました。
萌えJava超入門



お疲れ様でした。




© 2019 awasekagami