Guava - CharMatcher 类

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

类声明

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

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

Fields

Sr.No 字段和描述
1

static CharMatcher ANY

匹配任何字符。

2

static CharMatcher ASCII

确定字符是否为 ASCII,即其代码点小于 128。

3

static CharMatcher BREAKING_WHITESPACE

确定字符是否为中断空格(即出于格式化目的可将其解释为单词之间的分隔符的空格)。

4

static CharMatcher DIGIT

根据 Unicode 判断字符是否为数字。

5

static CharMatcher INVISIBLE

判断某个字符是否不可见; 也就是说,根据 ICU4J,其 Unicode 类别是否为 SPACE_SEPARATOR、LINE_SEPARATOR、PARAGRAPH_SEPARATOR、CONTROL、FORMAT、SURROGATE 和 PRIVATE_USE 中的任何一个。

6

static CharMatcher JAVA_DIGIT

根据Java的定义判断一个字符是否为数字。

7

static CharMatcher JAVA_ISO_CONTROL

确定字符是否是由Character.isISOControl(char)指定的ISO控制字符。

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 空白

根据最新的 Unicode 标准确定字符是否为空格,如此处所示。

构造函数

Sr.No 构造函数& 描述
1

protected CharMatcher()

供子类使用的构造函数。

类方法

Sr.No 方法和描述
1

CharMatcher and(CharMatcher other)

返回一个匹配器,该匹配器与此匹配器和其他匹配器匹配的任何字符相匹配。

2

static CharMatcher anyOf(CharSequence 序列)

返回一个与给定字符序列中存在的任何字符匹配的字符匹配器。

3

boolean apply(Character character)

已弃用。 仅为满足 Predicate 接口而提供; 使用 matches(char) 代替。

4

String collapseFrom(CharSequence sequence, char replacement)

返回输入字符序列的字符串副本,其中与此匹配器匹配的每组连续字符都替换为单个替换字符。

5

int countIn(CharSequence sequence)

返回在字符序列中找到的匹配字符的数量。

6

static CharMatcher forPredicate(Predicatepredicate)

返回一个与给定的基于字符的谓词具有相同行为的匹配器,但它对原始 char 实例进行操作。

7

int indexIn(CharSequence sequence)

返回字符序列中第一个匹配字符的索引,如果不存在匹配字符,则返回 -1。

8

int indexIn(CharSequence sequence, int start)

返回字符序列中从给定位置开始的第一个匹配字符的索引,如果该位置之后没有字符匹配,则返回 -1。

9

static CharMatcher inRange(char startInclusive, char endInclusive)

返回一个与给定范围内的任何字符匹配的字符匹配器(包括两个端点)。

10

static CharMatcher是(char match)

返回仅匹配一个指定字符的字符匹配器。

11

static CharMatcher isNot(char match)

返回一个字符匹配器,该匹配器匹配除指定字符之外的任何字符。

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 序列)

返回一个字符匹配器,该匹配器与给定字符序列中不存在的任何字符相匹配。

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)

返回输入字符序列的子字符串,该子字符串省略了该匹配器从字符串末尾匹配的所有字符。

继承的方法

该类继承了以下类的方法es −

  • java.lang.Object

Example of CharMatcher class

使用您在 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

guava_string_utilities.html