位置:首頁 > Java技術 > Guava教學 > Guava CharMatcher類

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