Javaちょこっとリファレンス
HOME > StringBuilderを使用した文字列操作

StringBuilderを使用した文字列操作

StringBuilderクラスを使うと、以下のような処理が簡単に行えます。

・文字列の結合
・文字列の挿入
・文字列の部分置換
・文字列の部分削除
・文字列の部分取り出し
・文字列の検索

サンプルソースコード

例)StringBuilderによる文字列結合サンプル

StringBuilderSample.java
public class StringBuilderSample {

    public static void main(String args[]) {

        //StringBuilderの生成とデータアペンド
        StringBuilder sb = new StringBuilder();
        sb.append("ABC");
        sb.append("DEF");

        //画面出力
        System.out.println(sb.toString());

    }

}

実行結果

コマンドプロンプト
C:\>java StringBuilderSample ABCDEF

各メソッドのサンプルは、このページの一番下をご覧ください。

主要メソッド

【java.lang.StringBuilderクラスの主要メソッド】
戻値型 メソッド 説明
StringBuilderappend(String s)末尾にsを追加する
(※引数はintやcharなどもOKです。)
StringBuilderinsert(int x, String s)a番目にsを挿入する
(※引数はintやcharなどもOKです。)
StringBuilderreplace(int a, int b, String s)a番目~b番目の文字をsに置き換える
voidsetCharAt(int a, char s)a番目の文字をsに置き換える
StringBuilderdelete(int a, int b)a番目~b番目の文字を削除する
StringBuilderdeleteCharAt(int a)a番目の文字を削除する
charcharAt(int a)a番目の文字をchar型で取得する
intindexOf(String s)sが一番最初に出現するインデックス番号を返す
(存在しない場合は -1 が返る)
intindexOf(String s, int a)sがa番目以降で一番最初に出現するインデックス番号を返す
(存在しない場合は -1 が返る)
intlastIndexOf(String s)sが最後に出現するインデックス番号を返す
(存在しない場合は -1 が返る)
intlastIndexOf(String s, int a)sがa番目より手前で一番最初に出現するインデックス番号を返す
(存在しない場合は -1 が返る)
intlength()文字列の長さ(文字数)を返す
StringBuilderreverse()文字列の並びを逆にする
Stringsubstring(int a)a番目以降をString型で返す
Stringsubstring(int a, int b)a番目~b番目をString型で返す
voidtoString()String型で返す
StringBuilder主要メソッドサンプル
//元データ
StringBuilder sb1 = new StringBuilder("ABCDEFG");
StringBuilder sb2 = new StringBuilder("ABCDEABCDEABCDE");
StringBuilder sb3 = new StringBuilder("あいうえお");


//※以下の結果は全てtoStringしたものです

//末尾に"***"を付加する
sb1.append("***");
→ "ABCDEFG***"

//インデックス番号1(2文字目)に"***"を挿入する
sb1.insert(1, "***");
→ "A***BCDEFG"

//インデックス番号2~4(3~4文字目)を"***"に置換する
sb1.replace(2, 4, "***");
→ "AB***EFG"

//インデックス番号3(4文字目)を'*'に置換する
sb1.setCharAt(3, '*');
→ "ABC*EFG"

//インデックス番号0~2(1~2文字目)を削除する
sb1.delete(0,2);
→ "CDEFG"

//インデックス番号3(4文字目)を削除する
sb1.deleteCharAt(3);
→ "ABCEFG"

//インデックス番号3(4文字目)を取得する
sb1.charAt(3)
→ 'D'

//"CD"が一番最初に出現するインデックス番号を取得する
sb2.indexOf("CD")
→ 2
sb2.indexOf("HOGE")
→ -1 (見つからないので-1)

//インデックス番号5(6文字目)以降で
 "CD"が最初に出現するインデックス番号を取得する
sb2.indexOf("CD", 5)
→ 7

//"CD"が一番最後に出現するインデックス番号を取得する
sb2.lastIndexOf("CD")
→ 12

//インデックス番号10(11文字目)以前で
 "CD"が最後に出現するインデックス番号を取得する
sb2.lastIndexOf("CD", 10)
→ 7

//文字数を取得する
sb1.length();
→ 7
sb3.length();
→ 5

//文字列の並びを反転させる
sb1.reverse();
→ "GFEDCBA"

//インデックス番号3(4文字目)以降の文字列を取得する
sb1.substring(3)
→ "DEFG"

//インデックス番号0~3(1~3文字目)の文字列を取得する
sb1.substring(0, 3);
→ "ABC"

//StringBuilderをString型で取得する
sb1.toString();
→ "ABCDEFG"

このエントリーをはてなブックマークに追加

文字列カテゴリ

HOMEへ戻る TOPへ戻る