CharMatcher
//原字符串
System.out.println(string);
//去掉控制字符(\t,\n,\b...)
System.out.println(CharMatcher.JAVA_ISO_CONTROL.removeFrom(string));
//获取所有的数字
System.out.println(CharMatcher.DIGIT.retainFrom(string));
//把多个空格替换为一个包括\t,并去掉首位的空格
System.out.println(CharMatcher.WHITESPACE.trimAndCollapseFrom(string, ' '));
//把所有的数字用"*"代替
System.out.println(CharMatcher.JAVA_DIGIT.replaceFrom(string, "*"));
//获取所有的数字和小写字母
System.out.println(CharMatcher.JAVA_DIGIT.or(CharMatcher.JAVA_LOWER_CASE).retainFrom(string));
//获取所有的大写字母
System.out.println(CharMatcher.JAVA_UPPER_CASE.retainFrom(string));
//获取所有单字节长度的符号
System.out.println(CharMatcher.SINGLE_WIDTH.retainFrom(string));
/*
原字符串:
ROCKY rocky RoCkY ~!@#$%^&*() 23(*&gS 你好 234啊 GES
去掉控制字符(\t,\n,\b...):
ROCKY rocky RoCkY ~!@#$%^&*() 23(*&gS 你好234啊 GES
获取所有的数字:
23234
把多个空格替换为一个包括\t,并去掉首位的空格:
ROCKY rocky RoCkY ~!@#$%^&*() 23(*&gS 你好 234啊 GES
把所有的数字用"*"代替:
ROCKY rocky RoCkY ~!@#$%^&*() **(*&gS 你好 ***啊 GES
获取所有的数字和小写字母:
rockyok23g234
获取所有的大写字母:
ROCKYRCYSGES
获取所有单字节长度的符号:
ROCKY rocky RoCkY ~!@#$%^&*() 23(*&gS 234 GES
*/
CharMatcher:
Charsets
当我们需要用到编码的时候我们应该用Charsets代替字符串使用,例如:
//我们不应该这样写
string.getBytes("UTF-8");
//而应该这样写
string.getBytes(Charsets.UTF_8);
Splitter
String str = "foRo-bar-- G qux";
//使用char作为参数
System.out.println(Splitter.on('-').split(str));
//使用CharMatcher作为参数
System.out.println(Splitter.on(CharMatcher.JAVA_UPPER_CASE).split(str));
//使用正则表达式Pattern作为参数
System.out.println(Splitter.on(Pattern.compile("[o-]")).split(str));
//使用正则表达式字符串作为参数
System.out.println(Splitter.onPattern("[o-]").split(str));
/*
输出结果:
[foRo, bar, , G qux]
[fo, o-bar-- , qux]
[f, R, , bar, , G qux]
[f, R, , bar, , G qux]
*/
Splitter的功能还有
//去掉空字符串
System.out.println(Splitter.on('-').omitEmptyStrings().split(str));
//去掉结果的首位空格
System.out.println(Splitter.on('-').trimResults().split(str));
//去掉结果首位的'o'字符
System.out.println(Splitter.on('-').trimResults(CharMatcher.is('o')).split(str));
//规定分割为多少个字符串
System.out.println(Splitter.on('-').limit(2).trimResults().split(str));
/*
输出结果:
[foRo, obaro, qux]
[foRo, obaro, , qux]
[foR, bar, , qux]
[foRo, obaro-- qux]
*/
Joiner
//把集合用'-'合并为字符串
System.out.println(Joiner.on('-').join(Arrays.asList(1,4,6)));
//把多个Object用"*_*"合并为字符串
System.out.println(Joiner.on("*_*").join("Tom","Jack","Rocky"));
//把一个数组用" -_- "合并为字符串
System.out.println(Joiner.on(" -_- ").join(new String[]{"cat","dog","pig"}));
/*
输出结果:
1-4-6
Tom*_*Jack*_*Rocky
cat -_- dog -_- pig
*/
更多内容请查看:
http://code.google.com/p/guava-libraries/wiki/StringsExplained
分享到:
相关推荐
guava-27.1版本的chm格式的api文档,Guava包含了若干被Google的Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、...
The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string ...
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] ...
技术关键词:集合框架(Collections)、缓存(Caching)、原生类型支持(Primitives Support)、并发库(Concurrency Libraries)、常见注解(Common Annotations)、字符串处理(String Processing)、I/O操作(I/O...
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...
Guava是一个Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] ...
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] ...
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] ...
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...
Guava: Google Core Libraries for Java Guava is a set of core libraries that includes new collection types (such as multimap and multiset), immutable collections, a graph library, functional types, ...
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] ...
Google Guava是一个比较有趣的框架,它提供了很多有趣的的功能, google Guava 给开发者...并发类库(concurrency libraries) 通用注解(common annotations) 字符串处理(string processing) 输入/输出(I/O),等等
- **官方网站**:`http://code.google.com/p/guava-libraries/` #### 二、Strings处理 Guava中的字符串处理工具极大地方便了开发人员进行字符串操作。 ##### Joiner:合并字符串 `Joiner` 类用于将列表中的元素...
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] ...
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] ...