Java中的CharMatcher类

CharMatcher类为任何Java char值确定一个true或false值,就像Predicate对任何Object所做的一样。

序号方法与说明
1CharMatcher和(CharMatcher other)返回一个匹配器,该匹配器匹配与此匹配器和other匹配的任何字符。
2static CharMatcher anyOf(CharSequence sequence)返回与给定字符序列中存在的任何字符匹配的字符匹配器。
3布尔值apply(字符字符)已弃用。仅提供以满足谓词接口;改用matchs(char)。
4字符串collapseFrom(CharSequence序列,char替换)返回输入字符序列的字符串副本,与该匹配器匹配的每组连续字符都被单个替换字符替换。
5int countIn(CharSequence sequence)返回在字符序列中找到的匹配字符数。
6static CharMatcher forPredicate(Predicate <?super Character> predicate)返回与给定的基于Character的谓词具有相同行为的匹配器,但它对原始char实例进行操作。
7int indexIn(CharSequence sequence)返回字符序列中第一个匹配字符的索引;如果不存在匹配字符,则返回-1。

使用您选择的任何编辑器在C:/> Guava中创建以下Java程序。

示例

以下是GuavaTester.java代码-

import com.google.common.base.CharMatcher;
import com.google.common.base.Splitter;
public class GuavaTester {
   public static void main(String args[]) {
      GuavaTester tester = new GuavaTester();
      tester.testCharMatcher();
   }
   private void testCharMatcher() {
      System.out.println(CharMatcher.DIGIT.retainFrom("mahesh123")); // only the digits
      System.out.println(CharMatcher.WHITESPACE.trimAndCollapseFrom(" Mahesh Parashar ", ' '));
      //在末端修剪空白,并将空白替换/折叠为单个空格
      System.out.println(CharMatcher.JAVA_DIGIT.replaceFrom("mahesh123", "*"));
      //加注所有数字                  
      System.out.println(CharMatcher.JAVA_DIGIT.or(CharMatcher.JAVA_LOWER_CASE).retainFrom("mahesh123"));
      //消除所有不是数字或小写字母的字符
   }
}

使用javac编译器编译类,如下所示

C:\Guava>javac GuavaTester.java

现在运行GuavaTester以查看结果-

C:\Guava>java GuavaTester

输出结果

这将产生以下输出-

123
Mahesh Parashar
mahesh***
mahesh123