Guava 工具类之 Splitter的使用
Splitter可以对字符串进行分割,在分割时的方式有2种,
1.按字符/字符串分割
2.按正则进行分割
一.按字符进行分割
//1.用指定字符切分字符串,并转换成list String s1 = "hello|hihi"; String s2 = "hello|haha|||"; Splitter.on("|").splitToList(s1).forEach(System.out::println); Splitter.on("|").split(s1).forEach(item ->System.out.println(item)); //2.忽略掉空的字符串或者多余的分割符 Splitter.on("|").omitEmptyStrings().splitToList(s2).forEach(System.out::println); //3.忽略掉字符串中的空格 Splitter.on("|").omitEmptyStrings().trimResults().splitToList("hello | guava|||").forEach(System.out::println); //4.固定长度分割 Splitter.on("|").fixedLength(4).splitToList("aaaabbbbccccdddd").forEach(System.out::println); //5.指定长度分割 List<String> list = Splitter.on("#").limit(3).splitToList("a#b#c#d#e#"); //以#来分割,分3部分成 a b #c#d#e 3部分 System.out.println(list.get(0)); System.out.println(list.get(1)); System.out.println(list.get(2));
二.按正则来进行分割
//1.传入字符的分割 Splitter.onPattern("\\|").splitToList("hello|world").forEach(System.out::println); //2.传入pattern的分割 Splitter.on(Pattern.compile("\\|")).omitEmptyStrings().trimResults().splitToList("a|b|c||").forEach(System.out::println);
//3.传入pattern 转换成map
Map<String, String> map = Splitter.on(Pattern.compile("\\|")).omitEmptyStrings()
.trimResults().withKeyValueSeparator("=").split("a=b|c=d");
for (Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() +" = "+ entry.getValue());
}
转载于:https://www.cnblogs.com/MrRightZhao/p/11302831.html