Guava base -- CharMatcher
来源:互联网 发布:魔卡少女樱之我是知世 编辑:程序博客网 时间:2024/05/21 19:30
Guava全文介绍地址:Google Guava
这次主要介绍是的是com.google.common.base.CharMatcher。决定一些Java中char类型的值是true还是false,就好像Predicate对于Object类型一样。还提供基于此函数的基本文本处理方法。强烈建议实现无副作用和不可变的。
注意:这个类仅仅处理char类型的值。它不理解补充在范围为(0x10000 - 0x10FFFF)Unicode码。这样的逻辑使用代理对字符编码成一个字符串,和CharMatcher对待这些就像两个不同的字符。
这次主要介绍是的是com.google.common.base.CharMatcher。决定一些Java中char类型的值是true还是false,就好像Predicate对于Object类型一样。还提供基于此函数的基本文本处理方法。强烈建议实现无副作用和不可变的。
注意:这个类仅仅处理char类型的值。它不理解补充在范围为(0x10000 - 0x10FFFF)Unicode码。这样的逻辑使用代理对字符编码成一个字符串,和CharMatcher对待这些就像两个不同的字符。
由于这个类方法比较多,我就说它几个常用的方法。你就可以根据这几个方法推及到其它用法。它的常用所有方法如下:
String replaceFrom(CharSequence sequence, char replacement)返回一个String类型,替换掉目标sequence中符合CharMatcher类型的值为给定的replacementString replaceFrom(CharSequence sequence, CharSequence replacement)返回一个String类型,替换掉目标sequence中符合CharMatcher类型的值为给定的replacementStringcollapseFrom(CharSequence sequence, char replacement)返回一个String类型,替换目标sequence中每个组的连续字符匹配这匹配器取代了一个替换字符注意:它只会替换字符中间的,如果这个字符前面有对应的它就会报错eg. String a = " aaa bbb cccc"; String b = "aaa bbb ccc"; CharMatcher.WHITESPACE.collapseFrom(a, " ");// 会报错 CharMatcher.WHITESPACE.collapseFrom(b, " ");// result : "aaa bbb ccc"; String trimAndCollapseFrom(CharSequence sequence, char replacement)返回一个String类型,替换目标sequence中每个组的连续字符匹配这匹配器取代了一个替换字符(不只是中间前面对应的 CharMatcher也会被替换掉)String trimAndCollapseFrom(CharSequence sequence, char replacement)返回一个String类型,替换目标sequence中每个组的连续字符匹配这匹配器取代了一个替换字符(不只是中间前面对应的 CharMatcher也会被替换掉)String retainFrom(CharSequence sequence)返回一个String类型,提取目标sequence中包含CharMatcher的所有字符序列StringretainFrom(CharSequence sequence)其中包含所有在秩序中匹配字符的字符序列。然后大家就可以对照下面的例子来理解这个类的用法了。
public class CharMatcherTest { @Test public void testRemoveLinebreaks(){ String stringWithLinebreaks = "This is an example\n"+ "of a String with linebreaks\n"+ "we want on one line"; String expected = "This is an example of a String with linebreaks we want on one line"; String scrubbed = CharMatcher.BREAKING_WHITESPACE.replaceFrom(stringWithLinebreaks,' '); assertThat(scrubbed,is(expected)); } @Test public void testRemoveWhiteSpace(){ String tabsAndSpaces = "String with spaces and tabs"; String expected = "String with spaces and tabs"; String scrubbed = CharMatcher.WHITESPACE.collapseFrom(tabsAndSpaces,' '); assertThat(scrubbed,is(expected)); } @Test public void testTrimRemoveWhiteSpace(){ String tabsAndSpaces = " String with spaces and tabs"; String expected = "String with spaces and tabs"; String scrubbed = CharMatcher.WHITESPACE.trimAndCollapseFrom(tabsAndSpaces,' '); assertThat(scrubbed,is(expected)); } @Test public void testRetainFrom(){ String lettersAndNumbers = "foo989yxbar234"; String expected = "989234"; String retained = CharMatcher.JAVA_DIGIT.retainFrom(lettersAndNumbers); assertThat(expected,is(retained)); } @Test public void testCombineMatchers(){ CharMatcher cm = CharMatcher.inRange('A','E'); assertThat(cm.retainFrom("aaaABbbccCdddDEeee"),is("ABCDE")); }}
0 0
- Guava base -- CharMatcher
- Guava-base接口|Ascii|CharMatcher
- Guava CharMatcher
- guava之CharMatcher
- guava中String的CharMatcher
- Google Guava 库 CharMatcher 、Joiner以及Splitter
- Google Guava学习(10)-Guava字符串工具CharMatcher
- CharMatcher
- 【Android学习笔记】NoSuchMethodError: com.google.common.base.CharMatcher.whitespace()
- Guava base -- Joiner
- Guava base -- Splitter
- Guava base -- Charset
- Guava base -- Strings
- Guava base -- Preconditions
- Guava base -- Objects
- Guava base -- MoreObjects
- Guava base -- Enums
- Guava base -- Ascii
- struts2请求参数处理
- 关于SafeArray的使用说明
- POJ分类?
- Java开发中的23种设计模式详解
- 第二个游戏欢迎下载
- Guava base -- CharMatcher
- 第八天 java转Objective-C工具 J2ObjC
- 使用AsyncHttpClient进行网络连接的时候,参数不能传到后台,导致无法传参
- 为什么Java中synchronized同步的对象不能是Integer等类型
- python 数据清理诺干错误
- 自定义可以滚动TextView
- 【C】排序算法之——插入排序(直接插入排序)
- 设计模式之一单例模式
- 53. Maximum Subarray