カテゴリ: Javaの文字列操作 更新日: 2026/04/03

Java の文字列を特定の文字で分割する「split()」の基本

090
Java の文字列を特定の文字で分割する「split()」の基本

新人と先輩の会話形式で理解しよう

新人

「Java で文字列を特定の文字で分割する方法はありますか?」

先輩

「Java では split() メソッドを使うことで、指定した文字を区切りにして文字列を分割できるよ。」

新人

「具体的にはどうやって使うんですか?」

先輩

「それじゃあ、基本的な使い方を見ていこう!」

1. split() メソッドとは?(基本的な説明)

1. split() メソッドとは?(基本的な説明)
1. split() メソッドとは?(基本的な説明)

split() メソッドは、指定した区切り文字(デリミタ)で文字列を分割し、配列として取得するメソッドです。

split() の基本的な特徴

  • 引数に指定した文字で文字列を分割する
  • 分割後の各部分は配列として取得できる
  • 空白やカンマなど、好きな文字を区切りとして使える

例えば、CSV(カンマ区切りのデータ)を処理するときなどに便利です。

2. split() を使った基本的な文字列の分割

2. split() を使った基本的な文字列の分割
2. split() を使った基本的な文字列の分割

まずは、基本的な split() の使い方を見てみましょう。

カンマで区切られた文字列を分割する


public class SplitExample {
    public static void main(String[] args) {
        String text = "りんご,バナナ,オレンジ";
        String[] fruits = text.split(",");

        for (String fruit : fruits) {
            System.out.println(fruit);
        }
    }
}

りんご
バナナ
オレンジ

コードの解説

  • String text = "りんご,バナナ,オレンジ"; … カンマ区切りの文字列を用意
  • text.split(","); … カンマ(,)を区切り文字として分割
  • 配列 fruits に分割された文字列が格納される
  • for 文で配列を順番に取り出して出力

このように split() を使えば、簡単に文字列を分割することができます。

3. 複数の区切り文字を使った split() の使い方

3. 複数の区切り文字を使った split() の使い方
3. 複数の区切り文字を使った split() の使い方

split() メソッドは、正規表現を使うことで複数の区切り文字で文字列を分割することができます。

カンマやスペースで分割する

例えば、カンマ(,)やスペース( )のどちらかで区切られた文字列を分割するには、以下のように記述します。


public class SplitMultipleDelimiters {
    public static void main(String[] args) {
        String text = "りんご, バナナ オレンジ";
        String[] fruits = text.split("[, ]+");

        for (String fruit : fruits) {
            System.out.println(fruit);
        }
    }
}

りんご
バナナ
オレンジ

コードの解説

  • split("[, ]+"); … カンマ(,)またはスペース( )を区切り文字として指定
  • 正規表現の [, ]+ により、複数の区切り文字が連続しても正しく分割される
  • 出力結果では「りんご」「バナナ」「オレンジ」の3つに分割される

このように split() を使えば、異なる区切り文字をまとめて処理することができます。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. split() で得られた配列の扱い方

4. split() で得られた配列の扱い方
4. split() で得られた配列の扱い方

split() を使うと、分割した文字列は配列(String[])として取得できます。この配列を使って処理を行う方法を見てみましょう。

配列の要素数を確認する


public class SplitArrayExample {
    public static void main(String[] args) {
        String text = "A-B-C-D";
        String[] parts = text.split("-");

        System.out.println("要素の数: " + parts.length);
    }
}

要素の数: 4

コードの解説

  • split("-") を使ってハイフン(-)で文字列を分割
  • 配列 parts に分割された文字列が格納される
  • parts.length を使って要素の数を確認

このように split() で得られた配列は、通常の配列と同じように扱うことができます。

5. split() の正規表現の活用

5. split() の正規表現の活用
5. split() の正規表現の活用

split() では、正規表現を活用することで、より柔軟に文字列を分割することが可能です。

数字と文字を分割する

例えば、数字とアルファベットが混在した文字列を分割する場合、以下のように記述できます。


public class SplitWithRegex {
    public static void main(String[] args) {
        String text = "A1B2C3D4";
        String[] result = text.split("\\d+");

        for (String str : result) {
            System.out.println(str);
        }
    }
}

A
B
C
D

コードの解説

  • split("\\d+") … 数字(\d+)を区切り文字として分割
  • 結果として「A」「B」「C」「D」に分割される

このように、正規表現を使えば、特定のパターンに基づいて文字列を分割することができます。

6. split() を使った実践的なサンプルコード

6. split() を使った実践的なサンプルコード
6. split() を使った実践的なサンプルコード

ここでは、split() を活用した実践的なサンプルコードを紹介します。

CSVデータの分割と整形

カンマ区切りのCSVデータを split() を使って分割し、それぞれの値を整形して表示する例です。


public class CSVParser {
    public static void main(String[] args) {
        String csv = "1001,田中,30,東京";
        String[] data = csv.split(",");

        System.out.println("ID: " + data[0]);
        System.out.println("名前: " + data[1]);
        System.out.println("年齢: " + data[2]);
        System.out.println("住所: " + data[3]);
    }
}

ID: 1001
名前: 田中
年齢: 30
住所: 東京

コードの解説

  • CSV形式のデータをカンマ(,)で分割
  • 配列 data に各要素を格納
  • それぞれの値を適切なラベルをつけて表示

このように、split() を使うことで、CSVデータを簡単に処理できます。

7. split() と StringTokenizer の違い

7. split() と StringTokenizer の違い
7. split() と StringTokenizer の違い

Java には、文字列を区切り文字で分割するもう一つの方法として StringTokenizer クラスがあります。split() メソッドとの違いを見てみましょう。

split() の特徴

  • 正規表現を利用できる
  • 配列で結果を取得する
  • 複数の区切り文字やパターンを指定できる

StringTokenizer の特徴

  • 一つの区切り文字しか指定できない
  • 配列ではなく、トークンを1つずつ取得する
  • メモリ効率が良い(配列を作成しない)

StringTokenizer の使用例


import java.util.StringTokenizer;

public class StringTokenizerExample {
    public static void main(String[] args) {
        String text = "A-B-C-D";
        StringTokenizer tokenizer = new StringTokenizer(text, "-");

        while (tokenizer.hasMoreTokens()) {
            System.out.println(tokenizer.nextToken());
        }
    }
}

A
B
C
D

どちらを使うべきか?

  • 柔軟な処理が必要なら split() を使う
  • パフォーマンスを重視する場合は StringTokenizer を使う

ただし、現在の Java では split() の方が一般的に使用されます。

8. 練習問題:「split()」を使ったプログラムを作ろう

8. 練習問題:「split()」を使ったプログラムを作ろう
8. 練習問題:「split()」を使ったプログラムを作ろう

最後に、split() を使ったプログラムを実際に書いてみましょう。

問題

以下のデータを split() で分割し、それぞれの情報を出力するプログラムを作成してください。

入力データ:


2024-04-01|田中|30歳|東京
    

出力例:


日付: 2024-04-01
名前: 田中
年齢: 30歳
住所: 東京
    

解答例


public class SplitPractice {
    public static void main(String[] args) {
        String data = "2024-04-01|田中|30歳|東京";
        String[] details = data.split("\\|");

        System.out.println("日付: " + details[0]);
        System.out.println("名前: " + details[1]);
        System.out.println("年齢: " + details[2]);
        System.out.println("住所: " + details[3]);
    }
}

日付: 2024-04-01
名前: 田中
年齢: 30歳
住所: 東京

ポイント

  • データを "|" で区切るため、正規表現の \\| を使用
  • 分割したデータを配列に格納し、それぞれ出力

このように、split() を活用することで、簡単にデータを分割して処理できます。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaのsplit()メソッドとは何ですか?初心者でもわかるように教えてください

Javaのsplit()メソッドとは、文字列を特定の区切り文字で分割するための便利な機能です。例えばカンマ区切りやスペース区切りのデータを分解し、配列として扱うことができます。Java初心者でも扱いやすく、文字列処理の基本としてよく使われる重要なメソッドです。
Javaの文字列操作の一覧へ
新着記事
Java
Javaの演算子の優先順位
Javaの演算子の優先順位を完全解説!初心者向けの丁寧な解説
Java
Javaのローカル変数と順次処理
Javaのローカル変数と順次処理を徹底解説!初心者でも理解できるコードの基本
Python
NumPyのdtype一覧!int・float・bool・str・objectの違いを比較
NumPyのdtype一覧を完全解説!int・float・bool・str・objectの違いを初心者向けに比較
Dart
Dartのコンストラクタまとめ!デフォルト・名前付きコンストラクタの使い方
Dartのコンストラクタまとめ完全ガイド!デフォルトコンストラクタと名前付きコンストラクタの使い方を初心者向けに解説
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】S3の料金体系まとめ!無料枠・課金ポイント・見積もり方法まで
【AWS】S3の料金体系まとめ!無料枠・課金ポイント・見積もり方法まで

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク