このエントリーをはてなブックマークに追加

JavaDoc

Charがマッチ(当てはまる)するかどうか、 Predicate<Character>も実装している。

単純なものでも、正規表現より読みやすいコードが書ける。

また、置き換えなど含むコードも1行で書ける。ただし、あくまでCharであって文字列ではない。

フィールド

static CharMatcher

WHITESPACE

private static final String TABLE を参照

BREAKING_WHITESPACE

WHITESPACEから以下文字を抜いたもの

\u202f NARROW NO-BREAK SPACE
\u180e MONGOLIAN VOWEL SEPARATOR
\u00a0 NO-BREAK SPACE
\u2007 FIGURE SPACE

INVISIBLE

WHITESPACEはすべて含まれる。 さらに、沢山 正確な範囲は、コード中の以下参照 public static final CharMatcher INVISIBLE = new RangesMatcher

staticメソッド

返り値 CharMatcher

特定の文字や文字列などからCharMatcherを作成

メソッド

返り値 CharMatcher

返り値 boolean

返り値 int

返り値 String

此のへんがGuavaらしいですね。

勘違いするかもしれませんが あくまでstartWithです。indexOfので見つけた部分のをカットするわけではありません。

メソッド 文字
CharMatcher ret=CharMatcher.is(',') tring text=",hello,,world,"
ret.trimFrom(text) hello,,world
ret.trimLeadingFrom(text) hello,,world,
ret.trimTrailingFrom(text) ,,hello,,world
ret.trimAndCollapseFrom(text,':') hello:world

前後の場合、連続しても、連続したマッチということで処理されます。 Collapseは置き換えた文字が続いたらまとめます。replaceはまとめません。

関連

a-zかどうかの判定は、base.AsciiのisLowerCase(char ch)、A-Zかどうかはbase.AsciiのisUpperCase(char ch)