文字列から文字を削除するにはStringBuilderクラス
/StringBufferクラス
のdeleteCharAtメソッド
を使うことができます。これらのメソッドの使い方について紹介します。
deleteCharAtメソッドの書式
deleteCharAtメソッド
は以下の様に記述します。
/* deleteCharAtメソッドの書式 */
文字列.deleteCharAt(数字);
文字の位置を数字で指定して、文字列からその文字を削除した文字列が返されます。文字の位置は最初が0になります。配列の添え字と同じですね。
数字に文字数より大きい数字を入力するとStringIndexOutOfBoundsException
のエラーが発生します。
StringBuilderクラス
/StringBufferクラス
の違いはスレッドセーフかどうかになります。StringBuilderクラス
はスレッドセーフでない分、StringBufferクラス
より処理速度が速いです
続いて、メソッドの使用例をサンプルコードで紹介します。
- サンプルコード
public class DeleteCharAtTest {
public static void main(String[] args) {
// 文字列ABCDEから2の位置の文字を削除して出力する
StringBuilder str = new StringBuilder("ABCDE");
System.out.println("str:" + str);
System.out.println("strの2の位置の文字を削除:" + str.deleteCharAt(2));
}
}
- 出力結果
str:ABCDE
strの2の位置の文字を削除:ABDE
2行目では文字列「ABCDE」の位置2の文字である「C」が削除され「ABDE」が出力されています。
似たメソッドに文字列から文字を取得するStringクラス
のcharAtメソッド
があるので注意しましょう。
以上で記事を終わりにします。