Guava CharMatcher类

Guava CharMatcher类

CharMatcher类提供了处理不同JAVA类型的char值的各种方法。

类声明

以下是com.google.common.base.CharMatcher类的声明:

@GwtCompatible(emulated = true)
public final class CharMatcher
   extends Object

字段

序号 字段及描述
1 static CharMatcher ANY 匹配任意字符。
2 static CharMatcher ASCII 判断字符是否为ASCII字符,即其代码点小于128。
3 static CharMatcher BREAKING_WHITESPACE 判断字符是否为断字符空白(即可以用于格式化目的的单词间的空白)。
4 static CharMatcher DIGIT 判断字符是否为Unicode中的数字字符。
5 static CharMatcher INVISIBLE 判断字符是否为不可见字符,即其Unicode类别是SPACE_SEPARATOR、LINE_SEPARATOR、PARAGRAPH_SEPARATOR、CONTROL、FORMAT、SURROGATE和PRIVATE_USE之一(根据ICU4J判断)。
6 static CharMatcher JAVA_DIGIT 判断字符是否为根据Java定义的数字字符。
7 static CharMatcher JAVA_ISO_CONTROL 判断字符是否为ISO控制字符,根据Character.isISOControl(char)的指定。
8 static CharMatcher JAVA_LETTER 判断字符是否为根据Java定义的字母字符。
9 static CharMatcher JAVA_LETTER_OR_DIGIT 判断字符是否为根据Java定义的字母或数字字符。
10 static CharMatcher JAVA_LOWER_CASE 判断字符是否为根据Java定义的小写字母字符。
11 static CharMatcher JAVA_UPPER_CASE 判断字符是否为根据Java定义的大写字母字符。
12 static CharMatcher NONE 不匹配任何字符。
13 static CharMatcher SINGLE_WIDTH 判断字符是否为单宽字符(非双宽字符)。
14 static CharMatcher WHITESPACE 判断字符是否为空白字符,根据最新的Unicode标准,示例如下。

构造函数(构造器)

Sr.No 构造函数和描述
1 protected CharMatcher() 供子类使用的构造函数。

类方法

序号 方法 & 描述
1 CharMatcher and(CharMatcher other) 返回一个同时满足这个匹配器和其他匹配器的字符匹配器。
2 static CharMatcher anyOf(CharSequence sequence) 返回一个匹配给定字符序列中任何字符的字符匹配器。
3 boolean apply(Character character) 已弃用。仅提供以满足 Predicate 接口; 使用 matches(char) 代替。
4 String collapseFrom(CharSequence sequence, char replacement) 返回输入字符序列的字符串副本,其中与此匹配器相匹配的连续字符组以单个替换字符替换。
5 int countIn(CharSequence sequence) 返回字符序列中匹配字符的数量。
6 static CharMatcher forPredicate(Predicate <? super Character> predicate) 返回与给定基于字符的谓词具有相同行为的匹配器,但操作的是基本的char实例。
7 int indexIn(CharSequence sequence) 返回字符序列中第一个匹配字符的索引,如果没有匹配的字符,则返回-1。
8 int indexIn(CharSequence sequence, int start) 返回从给定位置开始在字符序列中第一个匹配字符的索引,如果该位置后没有字符匹配,则返回-1。
9 static CharMatcher inRange(char startInclusive, char endInclusive) 返回一个在给定范围内(两个端点都包括在内)匹配任何字符的char matcher。
10 static CharMatcher is(char match) 返回一个仅匹配指定字符的char matcher。
11 static CharMatcher isNot(char match) 返回一个匹配除指定字符外的任何字符的char matcher。
12 int lastIndexIn(CharSequence sequence) 返回字符序列中最后一个匹配字符的索引,如果没有匹配的字符,则返回-1。
13 abstract boolean matches(char c) 判断给定字符的真值或假值。
14 boolean matchesAllOf(CharSequence sequence) 如果字符序列只包含匹配的字符,则返回true。
15 boolean matchesAnyOf(CharSequence sequence) 如果字符序列至少包含一个匹配的字符,则返回true。
16 boolean matchesNoneOf(CharSequence sequence) 如果字符序列不包含任何匹配的字符,则返回true。
17 CharMatcher negate() 返回一个与此匹配器不匹配的任何字符的匹配器。
18 static CharMatcher noneOf(CharSequence sequence) 返回一个字符匹配器,用于匹配不在给定字符序列中的任何字符。
19 CharMatcher or(CharMatcher other) 返回一个匹配器,用于匹配由此匹配器或其他匹配器匹配的任何字符。
20 CharMatcher precomputed() 返回一个在功能上等效于此的字符匹配器,但是查询速度可能比原始匹配器更快;结果可能会有所不同。
21 String removeFrom(CharSequence sequence) 返回一个按照顺序包含字符序列中所有不匹配的字符的字符串。
22 String replaceFrom(CharSequence sequence, char replacement) 返回与输入字符序列相同的字符串副本,每个与此匹配器匹配的字符都替换为给定的替换字符。
23 String replaceFrom(CharSequence sequence, CharSequence replacement) 返回与输入字符序列相同的字符串副本,每个与此匹配器匹配的字符都替换为给定的替换序列。
24 String retainFrom(CharSequence sequence) 返回一个按顺序包含字符序列中所有匹配字符的字符串。
25 String toString() 返回此CharMatcher的字符串表示,例如CharMatcher.or(WHITESPACE, JAVA_DIGIT)。
26 String trimAndCollapseFrom(CharSequence sequence, char replacement) 将与 collapseFrom(java.lang.CharSequence, char) 功能相同的字符组折叠为一个字符组,不同的是,会从字符序列的开头或结尾删除匹配的字符组,而不进行替换。
27 String trimFrom(CharSequence sequence) 返回输入字符序列的子串,该子串省略了从字符串开头和结尾匹配到的所有字符。
28 String trimLeadingFrom(CharSequence sequence) 返回输入字符序列的子串,该子串省略了从字符串开头匹配到的所有字符。
29 String trimTrailingFrom(CharSequence sequence) 返回输入字符序列的子串,该子串从字符串的末尾省略了此匹配器匹配的所有字符。

继承的方法

该类继承了以下类的方法:

CharMatcher类的示例

使用任何你选择的编辑器创建下面的Java程序,假设在 C:/ > Guava下:

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程