Java で文字列を配列に分割する方法

Hassan Saeed 2023年10月12日
  1. Java で文字列を配列に分割するには split(delimiter) を使用する
  2. Java で文字列を配列に分割し、最後の空文字列を残すには split(regex, limit) を使用する
Java で文字列を配列に分割する方法

このチュートリアルでは、Java で文字列を配列に分割する方法について説明します。

カンマで区切られた文字列 John, 23, $4500 があるとします。カンマに基づいてデータを分割し、このような配列に格納する必要があります。["John", "23", "$4500"] のような配列に格納する必要があります。ここで便利なのが split() メソッドです。

Java で文字列を配列に分割するには split(delimiter) を使用する

文字列を分割するためにはデリミタを渡す必要があります。split() メソッドはデリミタが出現するたびに文字列を分割し、それぞれの値を配列に格納します。以下の例はこれを示しています。

public class MyClass {
  public static void main(String args[]) {
    String data = "1,2,3,,5,6,,";
    String[] split = data.split(",");
    for (int i = 0; i < split.length; i++) System.out.println(split[i]);

    System.out.println("Done");
  }
}

出力:

1
2
3

5
6

最後に 2つの空の文字列がありますが、結果の配列には最後の 2つの空の文字列は含まれていません。これは、split() のデフォルトの振る舞いが結果の配列から末尾の空文字列をすべて削除するためです。

Java で文字列を配列に分割し、最後の空文字列を残すには split(regex, limit) を使用する

関数 split() に追加のパラメータを渡すことで、この動作をオーバーライドすることができます: split(regex, limit)。負の値の limit を渡すと、正規表現パターンが可能な限り何度でも適用されるようになります。

以下の例はこれを示しています。

public class MyClass {
  public static void main(String args[]) {
    String data = "1,2,3,,5,6,,";
    String[] split = data.split(",", -1);
    for (int i = 0; i < split.length; i++) System.out.println(split[i]);

    System.out.println("Done");
  }
}

出力:

1
2
3

5
6


Done

最後の 2つの空文字列が出力されていることがわかります。

関連記事 - Java String