1、关于String操作的代码
package com.example.demo13;
import com.google.common.base.CharMatcher;
import com.google.common.base.Splitter;
import java.util.Map;
public class Test04 {
public static void main(String[] args) {
String s = "a,,-b, c,-d";
//根据逗号分割字符串
Iterable<String> iterable1 = Splitter.on(',').split(s);
for (String ss : iterable1) {
System.out.println(ss);
}
System.out.println("-----------------------------------------------");
//去掉分割后空的字符串
Iterable<String> iterable2 = Splitter.on(',').omitEmptyStrings().split(s);
for (String ss : iterable2) {
System.out.println(ss);
}
System.out.println("-----------------------------------------------");
//去掉分割后字符串中的空格
Iterable<String> iterable3 = Splitter.on(',').omitEmptyStrings().trimResults().split(s);
for (String ss : iterable3) {
System.out.println(ss);
}
System.out.println("-----------------------------------------------");
Iterable<String> iterator5 = Splitter.on(",").omitEmptyStrings().trimResults(CharMatcher.is('-')).split(s);
System.out.println("去掉分后后字符串中'-':");
for (String ss : iterator5)
System.out.println(ss);
System.out.println("-----------------------------------------------");
//Splitter将处理结果处理成map类型
Map<String, String> map = Splitter.on(";").omitEmptyStrings().withKeyValueSeparator(",").split("a,c;quzer,yuanrq; , ;hello,csdn");
System.out.println("Splitter将处理结果处理成map类型:");
for (Map.Entry<String, String> entry : map.entrySet())
System.out.println("key=" + entry.getKey() + ";value=" + entry.getValue());
}
}
2、结果
a
-b
c
-d
-----------------------------------------------
a
-b
c
-d
-----------------------------------------------
a
-b
c
-d
-----------------------------------------------
去掉分后后字符串中'-':
a
b
c
d
-----------------------------------------------
Splitter将处理结果处理成map类型:
key=a;value=c
key=quzer;value=yuanrq
key= ;value=
key=hello;value=csdn
3、解释
关于Guava对于String类的操作,Splitter对于字符串有分割操作,分割一共两种,一种是on()方法,以一个字符分割;另一种是ofPattern(),按照正则表达式来分割。分割后可以使用omitEmptyStrings()去掉空的字符串,使用trimResults()去掉字符串里的空格。
.