# 字符串
# 判空
System.out.println(Strings.isNullOrEmpty("")); // true
System.out.println(Strings.isNullOrEmpty(null)); // true
System.out.println(Strings.isNullOrEmpty("hello")); // false
# null转换为空串
System.out.println(Strings.nullToEmpty(null)); // ""
# 指定尾部补充
// 从尾部不断补充T只到总共8个字符,如果源字符串已经达到或操作,则原样返回。类似的有padStart
System.out.println(Strings.padEnd("hello", 8, 'T')); // helloTTT
# 字符匹配器CharMatcher 空白一一替换
// 空白回车换行对应换成一个#,一对一换
String stringWithLinebreaks = "hello world" +
"ryou are here take it easy";
String s6 = CharMatcher.BREAKING_WHITESPACE.replaceFrom(stringWithLinebreaks,'#');
System.out.println(s6); // hello#world###you#are#here##take#it###easy
# 保留数字
String letterAndNumber = "1234abcdABCD56789";
// 保留数字
String number = CharMatcher.JAVA_DIGIT.retainFrom(letterAndNumber);
System.out.println(number);// 123456789
# 将集合转换为特定规则的字符串
ImmutableList<Integer> list = ImmutableList.of(1, 2, 3, 4, 5);
String join = Joiner.on("-").join(list);
System.out.println(join);
# 把map集合转换为特定规则的字符串
Map<String, Integer> map = Maps.newHashMap();
map.put("xiaoming", 12);
map.put("xiaohong",13);
String result = Joiner.on("\n").withKeyValueSeparator("=").join(map);
System.out.println(result);
// result为
// xiaoming=12
// xiaohong=13
# 将String转换为特定的集合
String str = "1-2-3-4-5-6";
List<String> list = Splitter.on("-").splitToList(str);
//list为 [1, 2, 3, 4, 5, 6]
# 去除空串与空格
String str = "1-2-3-4- 5- 6 ";
List<String> list = Splitter.on("-").omitEmptyStrings().trimResults().splitToList(str);
System.out.println(list);//[1, 2, 3, 4, 5, 6]
# 将String转换为map
String str = "xiaoming=11,xiaohong=23";
Map<String,String> map = Splitter.on(",").withKeyValueSeparator("=").split(str);//{xiaoming=11, xiaohong=23}
# 多字符切割
String input = "aa.dd,,ff,,.";
List<String> result = Splitter.onPattern("[.|,]").omitEmptyStrings().splitToList(input);
System.out.println(result);//[aa, dd, ff]