package GuavaString;
import com.google.common.base.*;
import com.google.common.collect.Lists;
import org.apache.commons.lang.CharSet;
import java.util.ArrayList;
import java.util.List;
/**
* Created by ZhaoYun on 2016/5/11.
* 字符串的处理 分割 连接 填充
*/
public class GuavaString {
private static final Joiner joiner = Joiner.on(",").skipNulls();//skipNulls 这样可以过滤null值 否则遇到null时会报 NullPointerException
private static final Splitter spl = Splitter.on(",").omitEmptyStrings().trimResults().limit(10);//按单个字符串拆分 omitEmptyStrings会忽略空字符串
// trimResults移除结果字符串的前后空白 limit 限制分割的数量
public static void main(String[] args){
//String 连接器 Joiner
String[] strings = new String[]{"a","b","c","d",null};
String afterJoin = joiner.join(strings);
System.out.println("String[] : " + afterJoin);// System.out.println的快捷键:sout 然后按tab 建
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("");
list.add("c");
System.out.println("list :" + joiner.join(list));
//String 拆分器 Splitter
list = Lists.newArrayList(spl.split(afterJoin));
for(String str : list){
System.out.println(str);
}
//String 匹配器 CharMatcher
String string = "0123456789SuccessControl";
string = CharMatcher.JAVA_ISO_CONTROL.removeFrom(string); //移除control
string = CharMatcher.DIGIT.retainFrom(string);//只保留数字
string = CharMatcher.DIGIT.retainFrom(string);//获取所有的数字
string = CharMatcher.WHITESPACE.trimAndCollapseFrom(string, ' ');//去除两端的空格;并把中间的连续空格替换成单个空格
string = CharMatcher.JAVA_DIGIT.replaceFrom(string, "*");//用*号替换所有数字
string = CharMatcher.JAVA_DIGIT.or(CharMatcher.JAVA_LOWER_CASE).retainFrom(string);// 只保留数字和小写字母
string = CharMatcher.JAVA_UPPER_CASE.retainFrom(string);//获取所有的大写字母
string = CharMatcher.SINGLE_WIDTH.retainFrom(string);//获取所有单字节长度的符号
System.out.println(string);
// Charsets 字符集 提供六种字符集常量引用
// CaseFormat 大小写转换器
}
}
package GuavaString;
import com.google.com