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