Javaプログラミング学習サイト ゆるゆるプログラミング

2020/03/23 公開

・文字を指定文字で分割

文字列の分割とは、指定した区切り文字で区切られた文字列を取り出すことです。

これは、Stringクラスのsplitメソッドを使うことで実現できます。

splitメソッド

public String[] split( String regex, int limit )
■指定された正規表現で文字列を分割します。

  パラメータ regex : 正規表現の区切り(区切り文字)
        limit : 最大分割数
            指定しない場合は、無制限
            0の場合は、無制限

  戻り値     分割された文字列の配列

以下が、区切り文字での文字列を分割する例です。

例1)"A,B,C"を区切り文字','(半角のカンマ)で分割

A
B
C

半角のカンマで区切られた3つの文字列になります。

例2)"犬;猫;熊,パンダ;うさぎ"を区切り文字';'(半角のセミコロン)で分割

犬
猫
熊,パンダ
うさぎ

半角のセミコロンで区切られた4つの文字列になります。

例3)"トマト,キュウリ,,キャベツ,ピーマン,"を区切り文字','(半角のカンマ)で分割

トマト
キュウリ
       ← 空文字
キャベツ
ピーマン
       ← 空文字

半角のカンマで区切られた6つの文字列になります。半角カンマが2つ連続している場合は、文字が無いとみなし空文字になります。また、最後の文字が半角カンマの場合も空文字になります。

例4)",車,電車,飛行機"を区切り文字','(半角のカンマ)で分割

       ← 空文字
車
電車
飛行機

半角のカンマで区切られた4つの文字列になります。先頭の文字が半角カンマの場合は、1番目の文字列が空文字になります。

例5)"晴れ 曇り 雨"を区切り文字' '(半角のスペース)で分割

晴れ
曇り
雨

半角のスペースで区切られた3つの文字列になります。半角のスペースは他の文字と同様に1つの文字とみなされます。よって、半角のスペースが2つ以上連続している場合は、空文字列になります。以下の例6)は、半角スペースが2つ連続している例です。

例6)"晴れ 曇り 雨"を区切り文字' '(半角のスペース)で分割

晴れ
       ← 空文字
曇り
雨

半角のスペースで区切られた4つの文字列になります。"晴れ"と"曇り"の間には半角のスペースが2つ入っています。

下記は、splitメソッドを使って文字列の分割結果を確認するJavaソースコードの例です。

StringSplit1.java ← クリックしてダウンロードページに移動
001:    public class StringSplit1 {
002:    	public static void main( String[] args ) {
003:    		// 分割元の文字列
004:    		String str;
005:    
006:    		// 分割後の文字列を格納
007:    		String[] ans;
008:    
009:    		// ','で分割
010:    		str = "A,B,C";
011:    		ans = str.split( "," );
012:    
013:    		// 結果の表示
014:    		System.out.println( "分割数: " + ans.length );
015:    		for ( int i = 0; i < ans.length; ++ i )
016:    			System.out.println( ans[ i ]);
017:    
018:    		// 改行
019:    		System.out.println();
020:    
021:    		// ' '(半角スペース)で分割
022:    		// "晴れ"と"曇り"の間に半角スペースが2つ
023:    		str = "晴れ  曇り 雨";
024:    		ans = str.split( " " );
025:    
026:    		// 結果の表示
027:    		System.out.println( "分割数: " + ans.length );
028:    		for ( int i = 0; i < ans.length; ++ i )
029:    			System.out.println( ans[ i ]);
030:    	}
031:    }

StringSplit1.javaの出力結果

分割数: 3
A
B
C

分割数: 4
晴れ

曇り
雨

下記は、splitメソッドの2番目の引数に最大の分割数を与えて文字列を分割するJavaソースコードです。

StringSplit2.java ← クリックしてダウンロードページに移動
001:    public class StringSplit2 {
002:    	public static void main( String[] args ) {
003:    		// 分割元の文字列
004:    		String str = "A,B,C,D,E,F,G,H";
005:    
006:    		// 分割後の文字列を格納
007:    		String[] ans;
008:    
009:    		// ','で分割(最大3分割)
010:    		ans = str.split( ",", 3 );
011:    
012:    		// 結果の表示
013:    		System.out.println( "分割数: " + ans.length );
014:    		for ( int i = 0; i < ans.length; ++ i )
015:    			System.out.println( ans[ i ]);
016:    	}
017:    }

StringSplit2.javaの出力結果

A
B
C,D,E,F,G,H

分割する最大値を3にしているので、文字が3つに分割されています。最大数を指定しない場合は8つに分割されます。

以上です。

■関連コンテンツ

文字列 文字列について
文字コード 文字コードについて
Unicode Unicode(ユニコード)

■新着情報

2022.07.07 外部プログラムの実行 exeファイル実行
2022.07.06 完全数 6=1+2+3

■広告

 

 

 

 

 

スッキリわかるJava入門第3版 [ 中山清喬 ]

価格:2,860円
(2021/6/18 14:32時点)
感想(6件)

 

 

 

Topへ