アットウィキロゴ

Splitterクラス1

Splitterクラスは文字列を分解するときに使用します。以下の文字列があるとします。
"Tokyo,Shinagawa,,Nagoya, Osaka,,"

","で区切られた文字列ですが、ところどころ歯抜けがあります。
これをJavaで分解すると以下のソースになります。
 String[] parts = stations.split(",");
 for (int i = 0; i < parts.length; i++) {
   System.out.println("station = " + parts[i]);
 }

結果は以下です。
station = Tokyo
station = Shinagawa
station = 
station = Nagoya
station = Osaka

Shinagawaの次の空文字は抽出されましたが、Osakaより後のデータが無視されていました。

Splitterを使ったサンプルコードは以下のようになります。

 List<String> stationList = Splitter.on(",").splitToList(stations);
   for (String part : stationList) {
     System.out.println("station = " + part);
   }

結果は以下になります。
station = Tokyo
station = Shinagawa
station = 
station = Nagoya
station =  Osaka
station = 
station = 

String.splitで無視された空文字もリストに含まれています。

Splitterの基本的な文法は以下になります。
Splitter.on(区切り文字).splitToList(対象文字列);

以下のようにすると、空文字を飛ばす事もできます。
 List<String> stationTrimList = Splitter.on(",").omitEmptyStrings().splitToList(stations);
 for (String part : stationTrimList) {
   System.out.println("station omit empty = " + part);
 }

結果は以下になります。
station omit empty = Tokyo
station omit empty = Shinagawa
station omit empty = Nagoya
station omit empty =  Osaka
最終更新:2014年01月06日 22:32
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。