1. 为字符串提供便利,有老牌的判断字符串是否为空字符串或者为null,用指定字符填充字符串,以及拆分合并字符串,字符串匹配的判断等等。
1. 使用com.google.common.base.Strings类的isNullOrEmpty(input)方法判断字符串是否为空。
boolean isNullOrEmpty = Strings.isNullOrEmpty(input);
2. 获得两个字符串相同的前缀或者后缀
String CommonPrefix = Strings.commonPrefix(a,b); //相同前缀
String CommonSuffix = Strings.commonSuffix(c,d); //相同后缀
3. Strings的padStart和padEnd方法来补全字符串
int minLength=5;
String padEndResult = Strings.padEnd("123",minLength,'0'); //在后面补全字符串
4. 使用Splitter类来拆分字符串,可以去掉拆分结果中的空串,可以对拆分后的字符串做trim()操作,还可以做二次拆分
Iterable<String> splitResults = Splitter.onPattern("[,,]{1,}") .trimResults() .omitEmptyStrings() .split("hello,word,,世界,水平");//得到的结果是 hello word 世界 水平
Splitter的onPattern方法传入的是一个正则表达式,其后紧跟的trimResults()方法表示要对结果做trim(), omitEmptyStrings()表示忽略空字符串,split方法会执行拆分操作。返回的结果为Iterable<String>,可以使用for循环遍历打印。
Splitter还有做二次拆分,例如可以将a=b;c=d这样的字符串拆分成一个Map<String,String>.
String toSplitString = "a=b;c=d,e=f"; Map<String,String> kvs = Splitter.onPattern("[,;]{1,}").withKeyValueSeparator('=').split(toSplitString);
拆分字符串必然就有合并字符串,guava为我们提供了Joiner类来做字符串的合并:
String joinResult= Joiner.on(" ").join(new String[] {"hello","world"});
Splitter方法可以对字符串做二次的拆分,对应的Joiner也可以逆向操作,将Map<String,String>做合并:
String mapJoinResult = Joiner.on(",").withKeyValueSeparator("=").join(map); // a=b, c=d