Guava - CharMatcher 類



CharMatcher 提供了各種方法來處理 char 值的各種 JAVA 型別。

類宣告

以下是 com.google.common.base.CharMatcher 類的宣告:

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

欄位

序號 欄位及描述
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 標準的空格,此處有說明。

建構函式

序號 建構函式及描述
1

protected CharMatcher()

子類使用的建構函式。

類方法

序號 方法及描述
1

CharMatcher and(CharMatcher other)

返回一個匹配器,該匹配器匹配此匹配器和 other 匹配的任何字元。

2

static CharMatcher anyOf(CharSequence sequence)

返回一個字元匹配器,該匹配器匹配給定字元序列中存在的任何字元。

3

boolean apply(Character character)

已棄用。僅為了滿足 Predicate 介面而提供;請改用 matches(char)。

4

String collapseFrom(CharSequence sequence, char replacement)

返回輸入字元序列的字串副本,其中匹配此匹配器的連續字元的每個組都替換為單個替換字元。

5

int countIn(CharSequence sequence)

返回在字元序列中找到的匹配字元的數量。

6

static CharMatcher forPredicate(Predicate<? super Character> predicate)

返回一個與給定的基於 Character 的謂詞具有相同行為的匹配器,但該匹配器在原始 char 例項上執行。

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)

為給定字元確定真值或假值。

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)

返回一個字元匹配器,該匹配器匹配給定字元序列中不存在的任何字元。

19

CharMatcher or(CharMatcher other)

返回一個匹配器,該匹配器匹配此匹配器或 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(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
guava_string_utilities.htm
廣告