String.splitで正規表現によるString文字列の分割
2009/03/04 14:24Update
Stringクラスにsplitというメソッドがあります。splitメソッドを利用して、指定する正規表現の区切り文字で文字列を分割することができます。本文はString.splitメソッドの基本的な使い方や正規表現/非正規表現でのそれぞれの区切り文字の指定方法などについて学びます。
概要
Stringクラスの文字列分割用メソッド
◇ public String[] split(String regex)
◇ public String[] split(String regex,
int limit)
パラメータ regex:分割する区切り文字列。正規表現となります。
パラメータ limit:正規表現パターンの適用回数。結果として得られる配列の長さを制御します。
分割後の値は文字列の配列(String[])として返されます。
※1、分割する区切り文字列は正規表現となります。
※2、正規表現ではなく、指定する文字列のままで分割したい場合、区切り文字列を "\\Q" + 区切り文字列 + "\\E"の形で指定します。
String.splitの使用例
TestStringSplit.javapublic class TestStringSplit {
/**
* 文字列の分割
*/
public static void main(String[] args) {
String value = "Hello World!Java String.";
System.out.println("***********スペース で分割***********");
String []arr = value.split(" ");
System.out.println("length:" + arr.length);
for (String tmp:arr) {
System.out.println(tmp);
}
System.out.println("***********.で分割***********");
value = "Hello.World.Java.String.";
//.は正規表現のメタ文字で、.で分割したい場合、\\. もしくは\\Q.\\Eに指定する必要があります。
//区切り文字は複数の場合、\\Q~\\Eのほうが便利でしょう。
arr = value.split("\\Q.\\E"); //\\. もよい
System.out.println("length:" + arr.length);
for (String tmp:arr) {
System.out.println(tmp);
}
System.out.println("***********,で分割***********");
value = "Hello World, Java String";
arr = value.split(",");
System.out.println("length:" + arr.length);
for (String tmp:arr) {
System.out.println(tmp);
}
}
}
実行結果:
***********スペースで分割***********
length:3
Hello
World!Java
String.
***********.で分割***********
length:4
Hello
World
Java
String
***********,で分割***********
length:2
Hello World
Java String
length:3
Hello
World!Java
String.
***********.で分割***********
length:4
Hello
World
Java
String
***********,で分割***********
length:2
Hello World
Java String
参考資料
Java文字列処理 - Stringクラス
java.lang.String API仕様
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)