Last active
December 17, 2015 03:49
-
-
Save YukiYoshikawa/5545878 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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