アットウィキロゴ

CharMatcherクラス1

文字のマッチングを行うクラスです。

早速ですが、空白(スペース、タブ)にマッチする文字についてのみ処理を行うテストコードを書いてみます。
空白を','に変換し、','で区切られた文字列に変換します。

String str = "2spases  2tabs\t\tend";
System.out.println(str);
String newStr = CharMatcher.WHITESPACE.collapseFrom(str, ',');
System.out.println(newStr);

結果は以下になります。
2spases  2tabs		end
2spases,2tabs,end

スペースとタブのかたまりが上記のように1つの,に変換されました。


次に数値についてのマッチングをしてみようと思います。CharMatcher.JAVA_DIGITを使用します。
String str = "180cm75kgAge28";
System.out.println(str);
String newStr = CharMatcher.JAVA_DIGIT.retainFrom(str);
System.out.println(newStr);

retainFrom はマッチする文字のみを残します。JAVA_DIGITのretainFromは数値文字のみを抜き出すメソッドです。
結果は以下になります。
180cm75kgAge28
1807528

数値文字のみが抜き出されました。


さらに応用で条件をor や andでつなげる事ができます。以下サンプルです。
String str = "180cm75kgAge28";
System.out.println(str);
String newStr = CharMatcher.JAVA_DIGIT.or(CharMatcher.JAVA_UPPER_CASE).retainFrom(str);
System.out.println(newStr);

CharMatcher.JAVA_DIGIT.or(CharMatcher.JAVA_UPPER_CASE).retainFrom(str);
で、数値か、大文字を抜き出すとしました。結果は以下です。

180cm75kgAge28
18075A28

数値に加えて、Ageの'A'も抜き出されました。
最終更新:2013年12月31日 16:29
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。