guava中String处理的方法

不问归期 提交于 2020-05-02 02:21:36

String Utils

Joiner

将一系列的字符串通过分隔符连接,可以通过方法跳过null,如果没有跳过会报NPE,也可以通过方法将null通过其他字符串代替

 

eg

Joiner joiner0 = Joiner.on(";").skipNulls();

Joiner joiner = Joiner.on(";").useForNull("null");

String res = joiner.join("Harry", null, "Ron", "Hermione");

System.out.println(res);

String info = Joiner.on(",").join(Arrays.asList(1, 5, 7));

System.out.println(info);

 

Splitter

 

jdk中有类似的分割方法,String.split 或者StringTokenizer

Splitter.on(char)通过一个特殊的分割符分割Splitter.on(',')

Splitter.on(CharMatcher)通过设置相关匹配的字符进行分割

Splitter.on(CharMatcher.BREAKING_WHITESPACE)

Splitter.on(CharMatcher.anyof(";,."))

Spliter.on(String) Splitter.on(",")

Splitter.on(Pattern)

Splitter.onPattern(String) 通过特殊的通配符进行分割

Splitter.fixedLength(int),指定长度切割字符串

修饰方法

omitEmptyStrings 自动去掉空字符

eg

Splitter.on(",").omitEmptyStrings().split("a,c,,d");

trimResults() 去掉空白的字符等于 trimResults(CharMatcher.WHITESPACE)

eg

Splitter.on(",").trimResults(CharMatcher.whitespace()).split("a,b ,c , d");

 

 

trimResults(CharMatcher) 去除指定字符

limit (int) 停止分割,当指定的字符串返回

splitToList()可以获取一个列表,而不是Iterable

 

Map Splitters 使用特定的分割符分割字符串为Map形式

MapSplitter

 

CharMatcher

 

 

 

 

Charsets

String test="testString";

//不推荐这样

try {

test.getBytes("UTF-8");

}catch (Exception e){

 

}

//应该这样

test.getBytes(Charsets.UTF_8);

对于这行代码,应该使用guava中的Charsets,提供了6种基本的

charset,更加好用

 

CaseFormat

格式化

 

public void testCaseFormat() {

String result = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "LAUCH_TIME");

System.out.println(result);

}

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!