Guava中Splitter使用

625 阅读1分钟

「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战

分割字符串
String str = "Hello|world";
List<String> strList = Splitter.on("|").splitToList(str);
System.out.println(strList);

image.png

分割字符串后List中存在空字符串值
String str2 = "Hello|world||||";
List<String> strList2 = Splitter.on("|").splitToList(str2);
System.out.println(strList2);

image.png

忽略空字符串
String str3 = "Hello|world||||";
List<String> strList3 = Splitter.on("|").omitEmptyStrings().splitToList(str3);
System.out.println(strList3);

image.png

分割字符串后的字符串前后有空格,去掉空格
String str4 = "Hello | world||||";
List<String> strList4 = Splitter.on("|").trimResults().omitEmptyStrings().splitToList(str3);
System.out.println(strList4);

image.png

根据长度分割字符串
String str5 = "111222333444555666";
List<String> strList5 = Splitter.fixedLength(3).splitToList(str5);
System.out.println(strList5);

image.png

限制分割处理的结果数
String str6 = "Hello|world|hi|c++";
List<String> strList6 = Splitter.on("|").limit(2).omitEmptyStrings().splitToList(str6);
System.out.println(strList6);

image.png

正则表达式分割字符串
String str7 = "Hello|world|hi|c++";
List<String> strList7 = Splitter.onPattern("\|").splitToList(str7);
System.out.println(strList7);

image.png

分割完成的字符串组成一个map
String str8 = "Hello=world|hi=c++";
Map<String, String> map = Splitter.onPattern("\|").withKeyValueSeparator("=").split(str8);
System.out.println(map);

image.png