2020/03/23 公開
・文字を指定文字で分割
文字列の分割とは、指定した区切り文字で区切られた文字列を取り出すことです。
これは、Stringクラスのsplitメソッドを使うことで実現できます。
splitメソッド
■指定された正規表現で文字列を分割します。 パラメータ 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 |
■広告
