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(Predicate superCharacter>predicate) 返回一个与给定的基于字符的谓词具有相同行为的匹配器,但它对原始 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