2007年11月19日

空文字列を無視しない文字列分割

StringTokenizerクラスやC言語のstrok関数でも似たようなことがあるのですが、、、

String str = ",2,3,,";
String[] strs = str.split(",");

要素数は3つになります。
strs[0]・・・""
strs[1]・・・"2"
strs[2]・・・"3"
後続の空文字列は無視される仕様ということなのです。
これって、不便なことが多いのですよね。今までは、文字列分割処理を自作していました。

ところが、実は便利なメソッドがあることを今日しりました。

String str = ",2,3,,";
String[] strs = str.split(",",5);

要素数は5つになります。
strs[0]・・・""
strs[1]・・・"2"
strs[2]・・・"3"
strs[3]・・・""
strs[4]・・・""
splitメソッドの第二引数は「期待する要素数」ということになります。

これは地味に助かります。ぐっじょぶ!猫

posted by 台北猫々 at 21:58| Comment(0) | TrackBack(0) | 技術メモ(Java)