【Java】deleteCharAtメソッドで文字列から文字を削除する方法

【Java】deleteCharAtメソッドで文字列から文字を削除する方法

Javaで文字列から文字を削除するにはStringBuilderクラスStringBufferクラスdeleteCharAtメソッドを使えます。これらのメソッドの使い方を紹介します。

deleteCharAtメソッドの書式

deleteCharAtメソッドは以下の様に記述します。

deleteCharAtメソッドの書式
1Char c.deleteCharAt(int index);

文字の位置を数字で指定して、文字列からその文字を削除した文字列が返されます。文字の位置は最初が0になります。配列の添え字と同じですね。

数字に文字数より大きい数字を入力するとStringIndexOutOfBoundsExceptionのエラーが発生します。

StringBuilderクラスStringBufferクラスの違いはスレッドセーフかどうかになります。StringBuilderクラスはスレッドセーフでない分、StringBufferクラスより処理速度が速いです

続いて、メソッドの使用例をサンプルコードで紹介します。

DeleteCharAtTest.java
1public class DeleteCharAtTest {
2  public static void main(String[] args) {
3    // 文字列ABCDEから2の位置の文字を削除して出力する
4    StringBuilder str = new StringBuilder("ABCDE");
5    System.out.println("str:" + str);
6    System.out.println("strの2の位置の文字を削除:" + str.deleteCharAt(2));
7  }
8}

実行結果が以下になります。

出力結果
1str:ABCDE
2strの2の位置の文字を削除:ABDE

2行目では文字列「ABCDE」の位置2の文字である「C」が削除され「ABDE」が出力されています。


今回はJavaで文字列から文字を削除する方法について紹介しました。

似たメソッドに文字列から文字を取得するStringクラスcharAtメソッドがあるので注意しましょう。

以上で記事を終わりにします。

参考文献