Class CharMatcher
java.lang.Object
cloud.opencode.base.string.builder.CharMatcher
Character Matcher (Guava Style)
字符匹配器(Guava风格)
Represents a set of characters for matching, removing, retaining, or replacing operations.
表示用于匹配、移除、保留或替换操作的字符集合。
Features | 主要功能:
- Predefined character sets - 预定义字符集
- Custom character matching - 自定义字符匹配
- Boolean operations (and, or, negate) - 布尔运算
- String transformation operations - 字符串转换操作
Usage Examples | 使用示例:
// Remove whitespace
String result = CharMatcher.whitespace().removeFrom("a b c"); // "abc"
// Retain only digits
String digits = CharMatcher.digit().retainFrom("abc123"); // "123"
// Replace characters
String replaced = CharMatcher.is('a').replaceFrom("banana", '*'); // "b*n*n*"
// Collapse consecutive whitespace
String collapsed = CharMatcher.whitespace().collapseFrom("a b", ' '); // "a b"
Performance | 性能:
- Time complexity: O(n) for most operations - 大多数操作时间复杂度: O(n)
- Thread-safe: Yes (immutable) - 线程安全: 是(不可变)
- Since:
- JDK 25, opencode-base-string V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionand(CharMatcher other) static CharMatcherany()static CharMatcheranyOf(CharSequence sequence) static CharMatcherascii()static CharMatchercollapseFrom(CharSequence sequence, char replacement) intcountIn(CharSequence sequence) static CharMatcherdigit()static CharMatcherforPredicate(Predicate<Character> predicate) intindexIn(CharSequence sequence) intindexIn(CharSequence sequence, int start) static CharMatcherinRange(char startInclusive, char endInclusive) static CharMatcherstatic CharMatcheris(char match) static CharMatcherisNot(char match) static CharMatcherstatic CharMatcherstatic CharMatcherstatic CharMatcherstatic CharMatcherintlastIndexIn(CharSequence sequence) abstract booleanmatches(char c) booleanmatchesAllOf(CharSequence sequence) booleanmatchesAnyOf(CharSequence sequence) booleanmatchesNoneOf(CharSequence sequence) negate()static CharMatchernone()static CharMatchernoneOf(CharSequence sequence) or(CharMatcher other) removeFrom(CharSequence sequence) replaceFrom(CharSequence sequence, char replacement) replaceFrom(CharSequence sequence, CharSequence replacement) retainFrom(CharSequence sequence) trimAndCollapseFrom(CharSequence sequence, char replacement) trimFrom(CharSequence sequence) trimLeadingFrom(CharSequence sequence) trimTrailingFrom(CharSequence sequence) static CharMatcher
-
Constructor Details
-
CharMatcher
public CharMatcher()
-
-
Method Details
-
any
-
none
-
whitespace
-
breakingWhitespace
-
invisible
-
digit
-
javaLetter
-
javaDigit
-
javaLetterOrDigit
-
javaUpperCase
-
javaLowerCase
-
ascii
-
is
-
isNot
-
anyOf
-
noneOf
-
inRange
-
forPredicate
-
matches
public abstract boolean matches(char c) -
and
-
or
-
negate
-
matchesAnyOf
-
matchesAllOf
-
matchesNoneOf
-
indexIn
-
indexIn
-
lastIndexIn
-
countIn
-
removeFrom
-
retainFrom
-
replaceFrom
-
replaceFrom
-
collapseFrom
-
trimFrom
-
trimLeadingFrom
-
trimTrailingFrom
-
trimAndCollapseFrom
-