google Guava.jar----字符串之妙用

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章