2022.12.10

StringBuilderクラス

文字の削除

StringBuilderオブジェクトに格納されている文字列の一部を削除するメソッドが用意されています。

StringBuilder.deleteメソッド

StringBuilder delete( int start, int end )
・このシーケンスの部分文字列内の文字を削除します。

  パラメータ start : 開始インデックス(0~)
        end : 終了インデックス(start~)

  startからend-1までの文字が削除されます。

Javaソースコード

作成したStringBuilderオブジェクトに格納されている文字列の文字数をコンソール出力するソースコードです。

StringBuilder04.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
public class StringBuilder04 {
	public static void main(String[] args) {
		// インスタンスを作成
		StringBuilder sb1 = new StringBuilder( "0123456789" );
		// 開始インデックス4、終了インデックス6
		sb1.delete( 4, 6 );
		// sb1をコンソール出力
		System.out.println( sb1 );

		// 開始インデックス4、終了インデックス1000
		StringBuilder sb2 = new StringBuilder( "0123456789" );
		// 開始位置4 
		sb1.delete( 4, 1000 );
		// sb2をコンソール出力
		System.out.println( sb2 );

		// インスタンスを作成
		StringBuilder sb3 = new StringBuilder( "0123456789" );
		// 開始インデックス0、終了インデックス9
		sb3.delete( 0, 9 );
		// sb3をコンソール出力
		System.out.println( sb3 );

		// インスタンスを作成
		StringBuilder sb4 = new StringBuilder( "0123456789" );
		// 開始インデックス0、終了インデックスsb4の文字長
		sb4.delete( 0, sb4.length() );
		// sb4をコンソール出力
		System.out.println( sb4 );
	}
}

実行結果

実行

java StringBuilder04

出力結果

01236789
0123456789
9
			← 空文字

出力結果の1行目は、文字列"0123456789"から開始インデックス4、終了インデックス6で指定した範囲の文字列を削除したもので、"01236789"となります。開始インデックスから終了インデックスの1つ前までが削除されるのでインデックス4~5の2文字が削除されます。

出力結果の2行目は、文字列"0123456789"から開始インデックス4、終了インデックス1000で指定した範囲の文字列を削除したものです。終了インデックスが文字列の長さを超えているので削除処理が行われていません。

出力結果の3行目は、文字列"0123456789"から開始インデックス0、終了インデックス9で指定した範囲の文字列を削除したもので、"9"となります。開始インデックスから終了インデックスの1つ前までが削除されるのでインデックス0~8の9文字が削除されます。開始インデックスが0の場合、deleteメソッド文字列の先頭から終了インデックスで指定した文字数を削除するメソッドと考えることができます。

出力結果の4行目は、文字列"0123456789"から開始インデックス0、終了インデックスにStringBuilderオブジェクトに格納されている文字列の長さを指定したものです。3行目と同様に開始インデックスが0なので、先頭から文字列の長さを削除するパラメーター指定と考えることができます。先頭から文字列の長さの文字を削除する指定なので結果は""(空文字列)になります。

Javaソースコードの解説

001
public class StringBuilder04 {

クラス名を、StringBuilder04としています。

002
	public static void main(String[] args) {

このmainメソッドからプログラムを実行します。

003
004
		// インスタンスを作成
		StringBuilder sb1 = new StringBuilder( "0123456789" );

文字列"0123456789"を渡してStringBuilderオブジェクトsb1を作成しています。

005
006
		// 開始インデックス4、終了インデックス6
		sb1.delete( 4, 6 );

deleteメソッドに、開始インデックス4、終了インデックス6を渡して文字列の一部を削除しています。

007
008
		// sb1をコンソール出力
		System.out.println( sb1 );

sb1に格納されている文字列コンソール出力してます。

010
011
012
013
014
015
016
017
018
019
020
021
022
		// 開始インデックス4、終了インデックス1000
		StringBuilder sb2 = new StringBuilder( "0123456789" );
		// 開始位置4 
		sb1.delete( 4, 1000 );
		// sb2をコンソール出力
		System.out.println( sb2 );

		// インスタンスを作成
		StringBuilder sb3 = new StringBuilder( "0123456789" );
		// 開始インデックス0、終了インデックス9
		sb3.delete( 0, 9 );
		// sb3をコンソール出力
		System.out.println( sb3 );

3行目から8行目までと同様に、StringBuilderオブジェクトsb2とsb3を作成し、削除する範囲を変えて文字列を削除しています。

024
025
026
027
028
029
		// インスタンスを作成
		StringBuilder sb4 = new StringBuilder( "0123456789" );
		// 開始インデックス0、終了インデックスsb4の文字長
		sb4.delete( 0, sb4.length() );
		// sb4をコンソール出力
		System.out.println( sb4 );

StringBuilderオブジェクトsb4を作成し、削除する範囲の終了インデックスをsb4の文字の長さを渡していいます。文字の長さはlengthメソッドで取得することができます。

StringBuilder.lengthメソッド

int length()
・長さ (文字数) を返します。

  パラメータ なし

以上です。

前のコンテンツ

Javaで文字列を扱うStringBuilderオブジェクトを使って文字列に文字列を追加、文字列に文字列に変換した数値を追加する方法を解説しています。

2022.12.10

関連コンテンツ

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

大文字/小文字のアルファベットを出力する方法を詳しく解説しています。

2024.02.01

ひらがなの50音表を作ってみませんか?Javaのソースコードを使って詳しく説明しています。

2021.07.29

アスキーコードは、ASCIIコーコンピュータで扱う"文字"と"文字に割り当てられた番号"を対応させた表の1つです。

2020.11.01

世界中のバラバラな文字コードを統一するも目的で作られたUnicode(ユニコード)。数値と文字コードの対応表を参考にしてください。

2020.03.23

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

Javaを使った簡単な応用プログラム(生年月日から年齢を計算プログラムなど)を紹介しています。

2022.07.07

プログラミング、ITに関する用語をまとめています。

2022.10.17

プログラムの最初に実行されるメソッドは?

2022.12.13

プログラミングで使う変数って何?

2020.03.23

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

Javaで文字列を扱うStringBuilderオブジェクトを使って文字列に文字列を追加、文字列に文字列に変換した数値を追加する方法を解説しています。

2022.12.10

メソッドの定義方法を詳しく解説しています。Javaのサンプルソースコードを使った説明もあります。

2020.03.23

Javaプログラムの構成について解説しています。詳しくは、こちらをご覧ください。

2020.03.23

広告