Skip to content

Instantly share code, notes, and snippets.

@YukiYoshikawa
Last active December 17, 2015 03:49
Show Gist options
  • Save YukiYoshikawa/5545878 to your computer and use it in GitHub Desktop.
Save YukiYoshikawa/5545878 to your computer and use it in GitHub Desktop.
package trial.yy.guava.client.base;
import com.google.common.base.CharMatcher;
import com.google.common.base.Splitter;
import java.util.Map;
/**
* com.google.common.base.Splitterを試すためのサンプル
* User: yy
*/
public class SplitterClient {
public static void main(String[] args) {
// カンマで文字列 を分割してみる
System.out.println("### execute Splitter.on(\",\").split");
String srcStr1 = "aaa,bbb, ccc,ddd ";
Iterable<String> dest1 = Splitter.on(",")
.split(srcStr1);
System.out.println("dest1: " + dest1);
// カンマで文字列を分割+トリム を実施してみる
System.out.println("### execute Splitter.on(\",\").trimResults.split");
String srcStr2 = "aaa,bbb, ccc,ddd ";
Iterable<String> dest2 = Splitter.on(",")
.trimResults()
.split(srcStr2);
System.out.println("dest2: " + dest2);
// カンマで文字列を分割+トリム(トリムする文字('_')を指定) を実施してみる
String srcStr3 = "aaa,bbb_,___ccc,ddd_ ";
Iterable<String> dest3 = Splitter.on(",")
.trimResults(CharMatcher.is('_'))
.split(srcStr3);
System.out.println("dest3: " + dest3);
// カンマで文字列を分割+トリム+空要素は除外 を実施してみる
System.out.println("### execute Splitter.on(\",\").trimResults.omitEmptyStrings.split");
String srcStr4 = "aaa1,bbb2,ccc3, ,ddd4 ,";
Iterable<String> dest4_1 = Splitter.on(",")
.trimResults()
.split(srcStr4);
Iterable<String> dest4_2 = Splitter.on(",")
.trimResults()
.omitEmptyStrings()
.split(srcStr4);
System.out.println("dest4_1(not execute omitEmptyStrings): " + dest4_1);
System.out.println("dest4_2(execute omitEmptyStrings): " + dest4_2);
// カンマで文字列を分割+分割する要素数の最大値指定 を実施してみる
System.out.println("### execute Splitter.on(\",\").limit.split");
String srcStr5 = "aaa,bbb,ccc,ddd";
Iterable<String> dest5 = Splitter.on(",")
.limit(3)
.split(srcStr5);
System.out.println("dest5: " + dest5); // ちょっとこれだと分かりにくいですが・・
// 分割後の要素の長さを指定して文字列を分割する を実施してみる
System.out.println("### execute Splitter.on(\",\").fixedLength.split");
String srcStr6 = "A001B001C001D001E0002";
Iterable<String> dest6 = Splitter.fixedLength(4)
.split(srcStr6);
System.out.println("dest6: " + dest6);
// MapSplitterにより文字列をMapに分割する を実施してみる
System.out.println("### execute Splitter.on(\",\").withKeyValueSeparator.split");
String srcStr7 = "key1=value1 ; key2=value2 ; key3=value3";
Map<String, String> map = Splitter.on(";")
.trimResults()
.withKeyValueSeparator("=")
.split(srcStr7);
System.out.println("dest map : " + map);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment