CharMatcher
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