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

insertメソッド

文字列を自身の文字列に挿入します。

insert

萌えJava超入門
少し癖があるけど
indexOf や lastIndexOf
と組み合わせると、
使いやすいぞ。
目次

1. insertメソッド


自身の文字列の int offset に指定された位置に
引数の文字列(String str)を挿入します。
戻り値は、appendメソッドと同様に、インスタンス自身です。
必ずしも戻り値を受ける必要はありません。

 public StringBuilder insert(int offset, String str)

insertメソッド 書式
StringBuilder sb1;
int offset;
String str;
 StringBuilder sb2 = sb1.insert(offset, str);




2. サンプルコード


先頭に項目行を挿入して、各行の先頭に行番号を挿入するサンプルコードです。
行の先頭は、「改行(\n) の一文字前」で特定しています。
挿入する offset の値を特定する部分も注目です。

//Sample09_01.java

class Sample09_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());
      System.out.println("-----------------");

      /*各行に行番号を挿入*/

      String searchWord = "\n"; //検索文字列
      int rowNo = 1; //行番号
      int offset = 0; //挿入位置(searchWord の後ろ)

      //一行目
      sb.insert(offset, rowNo + "\t");
      rowNo++;
      offset = sb.indexOf(searchWord, offset);

      //二行目以降
      while(offset != -1){
            offset += searchWord.length(); //挿入位置(searchWord の後ろ)
            if(offset >= sb.length())break; //sb の末尾
            sb.insert(offset, rowNo + "\t");
            rowNo++;
            offset = sb.indexOf(searchWord, offset);
      }
      System.out.println(sb.toString());
      System.out.println("-----------------");

      /*先頭に項目行を挿入*/

      sb.insert(0, "NO\t氏名\n");
      System.out.println(sb.toString());

    }
}

コマンドライン
>cd ws
ws>javac -encoding UTF-8 Sample09_01.java
ws>java Sample09_01
黄瀬涼太
緑間真太郎
青峰大輝
紫原敦
赤司征十郎

-----------------
1       黄瀬涼太
2       緑間真太郎
3       青峰大輝
4       紫原敦
5       赤司征十郎

-----------------
NO      氏名
1       黄瀬涼太
2       緑間真太郎
3       青峰大輝
4       紫原敦
5       赤司征十郎


萌えJava超入門 萌えJava超入門
う~ん。
文字列を挿入する int offset
調べるのが大変そうっスね。
萌えJava超入門
そうだね。
必ず出現する文字列を手掛かりに
indexOf で特定するのがコツなんだ。



お疲れ様でした。




© 2019 awasekagami