Java Guava CharMatcher类

1 什么是Guava CharMatcher类

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

2 Guava CharMatcher类的语法

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

3 Guava CharMatcher类的方法

方法 描述
CharMatcher and(CharMatcher other) 返回匹配此匹配器和其他匹配的任何字符的匹配器。
static CharMatcher anyOf(CharSequence sequence) 返回匹配给定字符序列中存在的任何字符的字符匹配器。
boolean apply(Character character) 已弃用。仅提供满足 Predicate 接口;改用matches(char)。
String collapseFrom(CharSequence sequence, char replacement) 返回输入字符序列的字符串副本,与此匹配器匹配的每组连续字符替换为单个替换字符。
int countIn(CharSequence sequence) 返回在字符序列中找到的匹配字符数。
static CharMatcher forPredicate(Predicate<? super Character> predicate) 返回一个与给定的基于字符的Predicate具有相同行为的匹配器,但它对原始字符实例进行操作。
int indexIn(CharSequence sequence) 返回字符序列中第一个匹配字符的索引,如果不存在匹配字符,则返回 -1。
int indexIn(CharSequence sequence, int start) 返回字符序列中第一个匹配字符的索引,从给定位置开始,如果在该位置之后没有字符匹配,则返回 -1。
static CharMatcher inRange(char startInclusive, char endInclusive) 返回匹配给定范围内的任何字符的字符匹配器(两个端点都包括在内)。
static CharMatcher is(char match) 返回一个仅匹配一个指定字符的字符匹配器。
static CharMatcher isNot(char match) 返回匹配除指定字符以外的任何字符的字符匹配器。
int lastIndexIn(CharSequence sequence) 返回字符序列中最后一个匹配字符的索引,如果不存在匹配字符,则返回 -1。
abstract boolean matches(char c) 确定给定字符的真值或假值。
boolean matchesAllOf(CharSequence sequence) 如果字符序列仅包含匹配的字符,则返回 true。
boolean matchesAnyOf(CharSequence sequence) 如果字符序列包含至少一个匹配字符,则返回 true。
boolean matchesNoneOf(CharSequence sequence) 如果字符序列不包含匹配的字符,则返回 true。
CharMatcher negate() 返回匹配此匹配器不匹配的任何字符的匹配器。
static CharMatcher noneOf(CharSequence sequence) 返回匹配给定字符序列中不存在的任何字符的字符匹配器。
CharMatcher or(CharMatcher other) 返回匹配此匹配器或其他匹配的任何字符的匹配器。
CharMatcher precomputed() 返回一个功能上与此相同的字符匹配器,但它的查询速度可能比原始匹配器快;你的旅费可能会改变。
String removeFrom(CharSequence sequence) 按顺序返回包含字符序列中所有不匹配字符的字符串。
String replaceFrom(CharSequence sequence, char replacement) 返回输入字符序列的字符串副本,与此匹配器匹配的每个字符都替换为给定的替换字符。
String replaceFrom(CharSequence sequence, CharSequence replacement) 返回输入字符序列的字符串副本,与此匹配器匹配的每个字符都被给定的替换序列替换。
String retainFrom(CharSequence sequence) 按顺序返回包含字符序列中所有匹配字符的字符串。
String toString() 返回此 CharMatcher 的字符串表示形式,例如 CharMatcher.or(WHITESPACE, JAVA_DIGIT)。
String trimAndCollapseFrom(CharSequence sequence, char replacement) 与collapseFrom(java.lang.CharSequence, char) 完全一样折叠匹配字符组,除了序列开头或结尾的匹配字符组被删除而不替换。
String trimFrom(CharSequence sequence) 返回输入字符序列的子字符串,该子字符串省略了此匹配器从字符串的开头和结尾匹配的所有字符。
String trimLeadingFrom(CharSequence sequence) 返回输入字符序列的子字符串,该子字符串从字符串的开头省略了此匹配器匹配的所有字符。
String trimTrailingFrom(CharSequence sequence) 返回输入字符序列的子字符串,该子字符串从字符串的末尾省略了此匹配器匹配的所有字符。

5 Guava CharMatcher类的例子

让我们看一个简单的Guava CharMatcher类示例。

package com.yiidian;

import com.google.common.base.CharMatcher;

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
   }
}

输出结果为:

 

热门文章

优秀文章