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