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