1、代码
package com.example.demo13;
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import java.util.Map;
public class Test03 {
public static void main(String[] args) {
//判断空字符串
String s="";
boolean isNullOrEmpty = Strings.isNullOrEmpty(s);
System.out.println(isNullOrEmpty);
//取字符串前面相同的部分
String s1 = "com.jit.edu.cn";
String s2 = "com.jit.edu.jj";
String s3 = Strings.commonPrefix(s1,s2);
System.out.println(s3);
//取字符串后面相同的部分
String s4 = "hh.bb.aa.cc";
String s5 = "aa.ff.aa.cc";
String s6 = Strings.commonSuffix(s4,s5);
System.out.println(s6);
//在字符串后面加字符,如果超过索引位置则多加
String s7 = Strings.padEnd("123",4,'0');
String s8 = Strings.padEnd("123",8,'0');
System.out.println(s7+"---------"+s8);
//在字符串前面加字符,长度至少要等于字符串长度加1,多的部分重复
String s9 = Strings.padStart("123",4,'0');
String s10 = Strings.padStart("123",5,'0');
System.out.println(s9+"-----------"+s10);
/**拆分字符串
*Splitter的onPattern方法传入的是一个正则表达式,其后紧跟的trimResults()方法表示要对结果做trim,
* omitEmptyStrings()表示忽略空字符串,split方法会执行拆分操作。
*split返回的结果为Iterable<String>,我们可以使用for循环语句来逐个打印拆分字符串的结果。*/
Iterable<String> splitResults = Splitter.onPattern("[,,]{1,}").trimResults().omitEmptyStrings().split("hello,word,,世界,水平");
for (String item : splitResults) {
System.out.println(item);
}
//二次拆分
String toSplitString = "a=b;c=d,e=f";
Map<String, String> kvs = Splitter.onPattern("[,;]{1,}").withKeyValueSeparator('=').split(toSplitString);
for (Map.Entry<String, String> entry : kvs.entrySet()) {
System.out.println(String.format("%s=%s", entry.getKey(), entry.getValue()));
}
//合并字符串
String joinResult = Joiner.on(" ").join(new String[]{"hello","world"});
System.out.println(joinResult);
}
}
2、结果
true
com.jit.edu.
.aa.cc
1230---------12300000
0123-----------00123
hello
word
世界
水平
a=b
c=d
e=f
hello world
3、解析
(1)Strings.isNullOrEmpty()
判断字符串是否为空串或者为空
(2) Strings.commonPrefix(s1,s2)
取字符串相同的前面部分
(3)Strings.commonSuffix(s4,s5)
取字符串相同的后面部分
(4)Strings.padEnd(“123”,4,‘0’)
在字符串后面加字符,如果超过索引位置则多加
(5)Strings.padStart(“123”,4,‘0’)
在字符串前面加字符,长度至少要等于字符串长度加1,多的部分重复
(6)Joiner.on(" ").join(new String[]{“hello”,“world”})
合并字符串