Basic Guava Utilities-CharMatcher

CharMatcher提供操作字符以及字符串的功能,如下面的代码:

CharMatcher.BREAKING_WHITESPACE.replaceFrom(stringWithLinebreaks,' ');

如果需要将多个连续的tab键和空格键合并为单个空格键,可以使用下面的代码:

 @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));
 }

上面的例子有个问题,如果空格键或者tab键在字符串的开始处则也会合并为单个空格,这显然不是我们想要的,CharMatcher提供了trimAndCollapseFrom方法来处理上述的情况:

@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));
 }

CharMatcher还有一个最广泛有用的功能就是,能组合多种字符的匹配模式,如下面的代码片段:

CharMatcher cm = CharMatcher.JAVA_DIGIT.or(CharMatcher.WHITESPACE);

上面的匹配器不仅会匹配数字而且还会匹配空格键。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,008评论 25 708
  • 溪颖,90后金融女老板,做的是信用卡,pose机生意,游走在政策边缘,一年也能挣个百来万。 雨燕,一个做微商,手中...
    smile石迈阅读 169评论 0 0
  • 道光二十二年十月二十六日 对青年人立志的建议 六弟自怨数奇,予亦深以为然。然屈于小试辄发牢骚,吾窃笑其志之小,而所...
    逐日free阅读 595评论 0 0
  • 经历: 给大家播放“用云建立一所学校”的视频 收集所有人的博客 在实验室组织了一次“学习方法”的讨论 根据同学们的...
    6d96978eeefb阅读 242评论 0 1