【Java入門】文字列を分割するsplitメソッドの使い方(List化も解説)

こんにちは!フリーランスのオータケです。

Javaで特定の文字を使って文字列を分割したいと思ったことがありませんか?

splitメソッドを使うことで実現できます。この記事では、splitメソッドの使い方について

  • splitメソッドとは
  • splitメソッドの使い方
  • splitの区切り文字を指定
  • という基本的な内容から

  • 分割した結果をListで受け取る方法
  • 正規表現を用いる方法
  • splitの使用上の注意点
  • など具体的な内容についても解説していきます。

    今回は文字列をint型に変換する方法について、使い方をわかりやすく解説します!

    splitメソッドとは

    splitメソッドは、対象となる文字列を指定した区切り文字によって分割し、それぞれを配列の要素として格納します。

    splitメソッドは次のように記述します。

    第1引数の区切り文字は、正規表現で指定します。正規表現については後ほど詳しく解説します。

    第2引数の分割後の要素数は省略することも可能です。省略した場合は、配列の要素数は制限されません。また、配列の終わりの空の文字列がある場合には破棄されます。

    第2引数がゼロより大きい場合、配列の要素数は指定した引数の値以下になります。第2引数が負の値の場合には、配列の要素数は制限されず、配列の終わりの空の文字列は削除されません。

    第2引数がゼロの場合は省略したときと同様に、配列の要素数は制限されずに、後続の空の文字列は破棄されます。

    splitメソッドの使い方

    ここではsplitメソッドで区切り文字を指定して、文字列を分割する方法を解説します!

    splitメソッドで文字列を分割する方法を次のプログラムで確認してみましょう!

    実行結果:

    ここでは文字列をカンマで区切って配列に分割しています。これでsplitメソッドで文字列を分割することができました!

    末尾の空文字(“”)の要素を除外しない方法

    ここではsplitメソッドで文字列を分割するときに、末尾の空の要素を削除しない方法を解説します!

    末尾の空の要素を削除しないようにするには、splitメソッドの第2引数に負の値の”-1”などを指定します。splitメソッドで末尾の空の要素を削除しない方法を次のプログラムで確認してみましょう!

    実行結果:

    2度目の分割では、splitメソッドの第2引数に負の値の”-1”を指定しているため、末尾の空文字の要素が削除されずに残っています。

    これでsplitメソッドで末尾の空文字(“”)の要素を除外せずに文字列を分割することができました!

    splitの区切り文字を指定するサンプルコード

    ここでは、splitメソッドを実際に使用する際の参考になるように、様々な区切り文字を指定するサンプルコードを解説していきます。

    改行コードで分割

    改行コードで文字分割を行う場合は引数に「\n」を指定してあげましょう。

    実行結果:

    タブで分割

    タブ文字で分割を行う場合は引数に「\t」を指定してあげましょう。

    実行結果:

    空白で分割

    空白(半角スペース)で分割を行う場合は、正規表現を使わなければ、そのまま半角スペースを引数に渡してあげるといいでしょう。

    実行結果:

    ピリオドで分割

    ピリオドで分割を行う場合は、引数に「.」を指定してあげても上手くいきません。

    これはsplitメソッドの第1引数は、正確には正規表現で指定するからです。正規表現で「.」は「何か1文字」を表します。このままではピリオドとして扱われないために、「\\.」として指定します。

    なお、正規表現については後ほど詳しく説明します。

    実行結果:

    カンマで分割

    ピリオドで分割を行う場合は引数に「,」を指定してあげましょう。

    実行結果:

    分割した結果をListで受け取る方法

    文字列を分割しその結果をListで受け取りたい場合は、splitメソッドを使用後にasListを使って変換することで実現できます。

    実行結果:

    正規表現を用いる方法

    先ほども少し述べましたが、splitメソッドの第1引数は正確には正規表現を指定します。

    正規表現を使って文字列を分割してみましょう。

    実行結果:

    このサンプルコードでは、正規表現で使われる文字「.」「*」で指定しています。

    Javaの正規表現については次の記事がオススメです!

    【Javaで正規表現】文字列をチェックするパターンの書き方とサンプル
    更新日 : 2019年4月23日

    引数に空文字を指定して1文字ずつ分割

    引数に空文字を指定すると、1文字ずつ分割されます。

    実行結果:

    対象文字列がnullの場合の注意点

    splitメソッドは対象となる文字列がnullの場合、例外NullPointerException が発生します。

    try-catch文で例外処理を行うか、使用する前にチェックすることをオススメします。

    実行結果:

    String型のnullチェックをする方法については、こちらで詳しく解説していますのでぜひ参考にして下さい。

    【Java入門】String型のnullをチェックをする方法
    更新日 : 2019年4月6日

    また、Java8の新機能Optionalでのnullチェックができます。

    こちらで詳しく解説していますのでぜひ参考にして下さい。

    Java8の新機能を徹底解説!(ラムダ式、Streamなど)
    更新日 : 2017年12月20日

    まとめ

    いかがでしたか?文字を分割するにはsplitメソッドを使うことで簡単に分割することができました。

    そして分割した文字列をListで受け取りたい場合はasListを使うことも覚えておきましょう!

    LINEで送る
    Pocket

    最短でエンジニアを目指すなら侍エンジニア塾

    cta_under_bnr

    侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

    あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

    無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

    無料体験レッスンの詳細はこちら

    書いた人

    オータケ

    オータケ

    30歳、フリーランスプログラマ。中学の頃よりプログラミングに興味を持ちゲーム開発やWebサイト構築などを経験
    新しいフレームワークやライブラリに興味があり革新的な機能が含まれていると泣いて喜ぶ。

    おすすめコンテンツ

    あなたにぴったりなプログラミング学習プランを無料で診断!

    プログラミング学習の効率を劇的に上げる学習メソッドを解説