java StringBuilderで指定した位置に文字列を挿入する

  • 作成日 2022.10.05
  • 更新日 2022.10.27
  • java
java StringBuilderで指定した位置に文字列を挿入する

javaで、StringBuilderで指定した位置に文字列を挿入する手順を記述してます。

環境

  • OS windows11 home
  • java 17.0.2

手順

StringBuilderで指定した位置に文字列を挿入するには、「insert」で可能です。

StringBuilder s = new StringBuilder();

s.insert(挿入する位置,"文字列");

実際に使用してみます。

public class App {

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

    StringBuilder s = new StringBuilder();

    s.append("あいうえお"); // それぞれの位置は、あ 0 い 1 う 2 え 3 お 4 
 
    s.insert(1,"アイウ");

    System.out.println(s.toString()); // あアイウいうえお

  }

}

指定した位置に挿入されていることが確認できます。

範囲を超える

現在の位置より「+2」の位置を指定すると「StringIndexOutOfBoundsException」が発生します。

public class App {

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

    StringBuilder s = new StringBuilder();

    s.append("あいうえお");
 
    s.insert(6,"アイウ");

    System.out.println(s.toString());
    // Exception in thread "main" java.lang.StringIndexOutOfBoundsException: offset 6, length 5
    //     at java.base/java.lang.String.checkOffset(String.java:4571)
    //     at java.base/java.lang.AbstractStringBuilder.insert(AbstractStringBuilder.java:1170)    
    //     at java.base/java.lang.StringBuilder.insert(StringBuilder.java:336)
    //     at App.main(App.java:8)

  }

}