Thinkers'Studio
JavaとC言語の自習ツール
文字列を分割する splitメソッドの使用例

 Stringクラスの split は、指定した区切りで文字列を分割し、結果を配列にセットして返してくれる便利なメソッドです。

split メソッドの形式 】
  String[] split( String s )

 s に区切りとする文字列を指定します。
 分割された内容が String型の配列として返されます。下で使用例を見てください。

split メソッドの使用例 】
 split はインスタンスメソッドです。生成したオブジェクトに対して呼び出します。
class UseSplit {
    public static void main( String[] args ) {

        String memostr = "Milk,Eggs,Bread,Apple,Cheese";
        String[] shoppinglst = memostr.split( "," );

        for( int i = 0; i < shoppinglst.length; i++ ) {
            System.out.println( i+1 + ":" + shoppinglst[i] );
        }
    }
}
 このプログラムを実行すると、次のように表示されます。
1:Milk
2:Eggs
3:Bread
4:Apple
5:Cheese
 区切りに指定するのは String型ならOKです。カンマや空白などのほか、特定の文字列でも構いません。
 ただし、", :" などと指定した場合、その文字列全体と一致する固まりが区切りです。 カンマや空白や : のいずれかという指定ではありません。少し融通が利かない気もしますね。

 (今回のクイズです)
 memostrの初期化で、次のように , の後ろに空白をひとつずつ入れたとき、実行結果はどうなるでしょうか?
 split に指定する区切りは、"," のままとします。

  String memostr = "Milk, Eggs, Bread, Apple, Cheese";
   (答えは、次回の Java の Tips で ・・・)
前回のクイズの答え: (前回の問題を見る
 (1) 引数が足りないので、Usage が表示されてプログラムが終わる
 (2) 2000年〜2100年の間のうるう年判定結果が表示される(引数指定では年が逆だが入替えて実行される)
 (3) 引数が多すぎるので、Usage が表示されてプログラムが終わる