Java文字列処理 - StringBufferクラス
2008/10/08 17:01Update
Javaでは、文字列を扱うには、StringやStringBuffer、StringBuilderクラスなどを用います。本文はStringBufferクラスの基本的な使い方について学びます。
StringBufferクラスの基本
とりあえず、サンプルから見てみます。
public class TestStringBuffer {
public static void main(String []args) {
StringBuffer sb = new StringBuffer("Hello World! こんにちは、");
sb.append("Java!");
System.out.println(sb.toString());
}
}
c:\javac TestStringBuffer.java
c:\java TestStringBuffer
Hello World! こんにちは、Java!
c:\java TestStringBuffer
Hello World! こんにちは、Java!
StringBufferクラスは文字列の連結、挿入、削除など処理を行うために様々なAPIを提供しています。
StringBufferのAPI仕様について、次のページをご参照ください。
String (Java 2 プラットフォーム SE v1.4.0)
String (Java Platform SE 6)
Stringクラスで文字列の生成
例1:
StringBuffer sb = new StringBuffer(); //初期容量が 16 文字である文字列バッファを構築します。
例2:
StringBuffer sb = new StringBuffer("Hello World! こんにちは、"); //指定した文字列で文字列バッファを構築します
例3:
StringBuffer sb = new StringBuffer(100); //初期容量を指定した文字列バッファを構築します
StringBufferクラスで文字列の操作
StringBufferクラスではさまざまな文字列操作用APIを提供しています。
文字列の連結
◇ append(..)メソッド
StringBufferクラスは、引数で示した値を文字列バッファに追加するには、appendメソッドを用います。
StringBuffer append(boolean b)
StringBuffer append(char c)
...
StringBuffer append(int i)
StringBuffer append(StringBuffer sb)
StringBuffer append(String str)
例:
StringBuffer sb = new StringBuffer("Hello ");
sb.append("Java!"); //Hello Java!
sb.append(true); //Hello Java!true
sb.append(100); ////Hello Java!true100
文字列バッファの長さ
例:
StringBuffer sb = new StringBuffer("Hello World! こんにちは、");
System.out.println(sb.length()); //19
文字列の置換
◇StringBuffer replace(int start, int end, String str)
指定された区間の文字列を、str の文字に置換します。
例:
StringBuffer sb = new StringBuffer("Hello World! こんにちは、");
sb.append("Java!");
sb.append(true);
sb.append(100);
sb.replace(0, 5, "xxxx");
System.out.println(sb.toString()); //xxxx World! こんにちは、Java!true100
文字列バッファに挿入
◇insert(...)
例:
StringBuffer sb = new StringBuffer("Hello World");
sb.insert(3, "XXXX");
System.out.println(sb.toString()); //HelXXXXlo World
文字列バッファに削除
◇StringBuffer delete(int start, int end)
例:
StringBuffer sb = new StringBuffer("Hello World");
sb.delete(3, 5);
System.out.println(sb.toString()); //Hel World
◇StringBuffer deleteCharAt(int index)
例:
StringBuffer sb = new StringBuffer("Hello World");
sb.deleteCharAt(7);
System.out.println(sb.toString()); //Hello Wrld
サブ文字列の取得
◇String substring(int start)
◇String substring(int start, int end)
◇CharSequence subSequence(int start, int end)
例:
StringBuffer sb = new StringBuffer("Hello World");
String str = sb.substring(1, 7);
System.out.println(str); //ello W
文字列(String)に変換
◇String toString()
例:
StringBuffer sb = new StringBuffer("Hello World");
String str = sb.toString(); //Hello World
Sponsored Link
Comments
- Relative Articles
- Java開発及び実行環境の構築 | Linux篇 - (2008/08/31 20:34)
- Java開発及び実行環境の構築 | Windows篇 - (2008/08/31 21:18)
- 5分でJava Hello World! - (2008/08/31 22:13)
- Java言語の制御構文 - 条件分岐if/else/else if - (2008/10/01 21:30)
- Java言語の繰り返し制御構文 - for文 - (2008/10/03 18:22)
- Java言語の繰り返し制御構文 - do ... while文 - (2008/10/03 21:23)
- Java言語の繰り返し制御構文 - while文 - (2008/10/03 21:32)
- Java言語の基礎 - javacコマンドによるコンパイル - (2008/10/10 17:58)
- Java アクセス修飾子概要 - (2008/10/29 18:31)
- Javaアノテーション機能 概要 - (2009/02/12 13:06)