当前位置: 首页 > 文档资料 > Guava 中文文档 >

CharMatcher

优质
小牛编辑
133浏览
2023-12-01

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

Class 声明 (Class Declaration)

以下是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 WHITESPACE

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

Constructor(s)

Sr.No构造函数和描述
1

protected CharMatcher()

子类使用的构造方法。

Class Methods

Sr.No方法和描述
1

CharMatcher and(CharMatcher other)

返回匹配此匹配器和其他匹配的任何字符的匹配器。

2

static CharMatcher anyOf(CharSequence sequence)

返回与匹配给定字符序列中的任何字符匹配的char匹配器。

3

boolean apply(Character character)

已过时。 仅提供满足Predicate接口; 使用匹配(char)代替。

4

String collapseFrom(CharSequence sequence, char replacement)

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

5

int countIn(CharSequence sequence)

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

6

static CharMatcher forPredicate(Predicate《? super Character》 predicate)

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

7

int indexIn(CharSequence sequence)

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

8

int indexIn(CharSequence sequence, int start)

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

9

static CharMatcher inRange(char startInclusive, char endInclusive)

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

10

static CharMatcher is(char match)

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

11

static CharMatcher isNot(char match)

返回匹配除指定字符之外的任何字符的char匹配器。

12

int lastIndexIn(CharSequence sequence)

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

13

abstract boolean matches(char c)

确定给定字符的true或false值。

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)

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

19

CharMatcher or(CharMatcher other)

返回匹配此匹配器或其他匹配的任何字符的匹配器。

20

CharMatcher precomputed()

返回一个与此函数等效的char匹配器,但查询速度可能比原始查询更快; 你的旅费可能会改变。

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)

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

方法继承 (Methods Inherited)

该类继承以下类中的方法 -

  • java.lang.Object

CharMatcher类的示例

使用您选择的任何编辑器在C:/》 Guava.创建以下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