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.javaimport 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