位置:首页 » 文章/教程分享 » Guava CharMatcher类

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

类声明

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

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


字体

S.N. 字段及说明
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,控制,FORMAT,SURROGATE和PRIVATE_USE根据ICU4J。
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标准是否字符是空白,如图所示这里。

构造函数

S.N. 构造函数 & 描述
1 protected CharMatcher()
构造方法,供子类使用。

类方法

S.N. 方法 & 描述
1 CharMatcher and(CharMatcher other)
返回一个匹配器,匹配两种匹配器和其他任何字符。
2 static CharMatcher anyOf(CharSequence sequence)
返回一个字符匹配匹配任何字符出现在给定的字符序列。
3 boolean apply(Character character)
不推荐使用。只有提供满足谓词接口;用匹配(字符)代替。
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)
返回一个字符匹配匹配给定范围内的任何字符(两个端点也包括在内)。
10 static CharMatcher is(char match)
返回一个字符匹配匹配只有一个指定的字符。
11 static CharMatcher isNot(char match)
返回一个字符匹配匹配除了指定的任何字符。
12 int lastIndexIn(CharSequence sequence)
返回最后一个匹配字符的索引中的字符序列,或-1,如果没有匹配的字符存在。
13 abstract boolean matches(char c)
确定给定字符一个true或false值。
14 boolean matchesAllOf(CharSequence sequence)
确定给定字符一个true或false值。
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一组如collapseFrom(java.lang.CharSequence, char) 做的一样,不同之处在于,无需更换一组被移除的匹配字符在开始或该序列的结束。
27 String trimFrom(CharSequence sequence)
返回输入字符序列省略了所有匹配器从一开始,并从该串的末尾匹配字符的字符串。
28 String trimLeadingFrom(CharSequence sequence)
返回输入字符序列,它省略了所有这些匹配的字符串开始处匹配字符的字符串。
29 String trimTrailingFrom(CharSequence sequence)
返回输入字符序列,它省略了所有这些匹配的字符串的结尾匹配字符的字符串。

继承的方法

这个类继承了以下类方法:

  • java.lang.Object

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