Java 中的 CharMatcher 类


CharMatcher 类可以为任何 Java 字符值确定真或假值,就像 Predicate 对任何对象执行一样。

序号方法及描述
1CharMatcher and(CharMatcher other)返回一个匹配器,该匹配器匹配此匹配器和 other 匹配的任何字符。
2static CharMatcher anyOf(CharSequence sequence)返回一个字符匹配器,该匹配器匹配给定字符序列中存在的任何字符。
3boolean apply(Character character)已弃用。仅提供以满足 Predicate 接口;请改用 matches(char)。
4String collapseFrom(CharSequence sequence, char replacement)返回输入字符序列的字符串副本,其中匹配此匹配器的连续字符组被单个替换字符替换。
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 ", ' '));
      // trim whitespace at ends, and replace/collapse whitespace into single spaces
      System.out.println(CharMatcher.JAVA_DIGIT.replaceFrom("mahesh123", "*"));
      // star out all digits                  
      System.out.println(CharMatcher.JAVA_DIGIT.or(CharMatcher.JAVA_LOWER_CASE).retainFrom("mahesh123"));
      // eliminate all characters that aren't digits or lowercase
   }
}

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

C:\Guava>javac GuavaTester.java

现在运行 GuavaTester 以查看结果:

C:\Guava>java GuavaTester

输出

这将产生以下输出:

123
Mahesh Parashar
mahesh***
mahesh123

更新于: 2020 年 2 月 20 日

210 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告