Javaに関する様々な情報をご紹介します。

6文字列の分割

Javaに関する様々な情報をご紹介します。

文字列の分割

このページでは、Stringクラスのsplitメソッドを利用して、指定した区切り文字で文字列を分割する方法について解説します。文字列を分割するには、これまでStringTokenizerクラスがよく使われていました。しかし、現在では推奨されておらず、splitメソッドや、 java.util.regexパッケージ(正規表現)の使用が推奨されています。 ※splitメソッドはJ2SDK 1.4から導入されたメソッドです。

splitメソッド

splitメソッドはStringクラスのメソッドで、文字列を分割するために使用します。分割する区切り文字は正規表現で指定できます。正規表現を使用することにより、単純な区切り文字から、複雑な区切り文字まで柔軟に指定できるようになります。正規表現の詳細は、java.util.regexパッケージのJava APIドキュメントをご参照ください。

戻り型 メソッド 説明
String[] split(String) 文字列を引数に指定した正規表現に従い、分割します。分割された文字列はStringの配列として返されます。
String[] split(String, int) 文字列を第1引数に指定した正規表現に従い、分割します。第2引数には正規表現の適用回数を指定します。指定した回数を過ぎると、残りの文字列は配列の最後に代入されます。

String str1 = new String("java Java JAVA");
String[] str1Ary = str1.split(" ");
//文字列"java Java JAVA"をスペースで分割し、配列str1Aryに代入します。

String str2 = new String("java.Java.JAVA");
String[] str2Ary = str2.split("\\.");
//文字列"java Java JAVA"を.で分割し、配列str2Aryに代入します。
//.は正規表現では任意の文字という特殊な意味を持ちます。
//そのため、\でエスケープする必要があります。

使用例

例1

class ExSplit {
  public static void main(String[] args) {
    //(1)分割する文字列を生成
    String str = new String("java,Java,JAVA");
    //(2)文字列をsplitメソッドで分割
    String[] strAry = str.split(",");

    //(3)分割された文字列の表示
    for (int i=0; i < strAry.length; i++) {
      System.out.println(strAry[i]);
    }
  }
}

解説1

  1. (1)分割する文字列を生成します。
  2. (2)splitメソッドで文字列を分割します。分割する区切り文字に、,(カンマ)を指定します。
  3. (3)分割された文字列を表示します。

実行結果1

C:\Java\source\TEST>javac ExSplit.java 

C:\Java\source\TEST>java ExSplit 
java 
Java 
JAVA 

C:\Java\source\TEST>

6文字列の分割