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