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
}
}
输出结果为:
热门文章
优秀文章