org.apache.commons.lang.CharUtils
isAsciiAlpha, isAsciiAlphaUpper, isAsciiControl, etc
// JRE 1.6.0_07
// Commons Lang 2.4
// org.apache.commons.lang.CharUilts
// charが英字か、小文字か、大文字か、数字か、制御文字か等を判定
// tag char ascii control
// CharUilts は char が「半角英数か」とか、「小文字の英字か」などが判定できる
// 「char って1文字しか判別できないじゃん、俺、StringUtils の isAlphanumericとか使うよ」
// と言われたら何も言えない
// けど、CharUtilsの方が判別できる種類がちょっとだけ多い
//////////////////////////////////////////////////
// isAscii
// Ascii文字か判定する
// 中のロジックはざわざわするほどシンプルな「ch < 128」
// 「 a 」はもちろんtrue
System.out.println(
CharUtils.isAscii( 'a' ) );
// => true
// ナル文字とかもtrueになる
System.out.println(
CharUtils.isAscii( '\u0000' ) );
// => true
//////////////////////////////////////////////////
// isAsciiAlpha
// アルファベットのみture
// a-zA-Z辺りがtrueになる
// 中身は、「(ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')」
// という間違いのなさそうな記述
System.out.println(
CharUtils.isAsciiAlpha( '@' ));
// => false
System.out.println(
CharUtils.isAsciiAlpha( 'Z' ));
// => true
//////////////////////////////////////////////////
// isAsciiAlphaLower
// アルファベットの小文字のみture
// 中身は、「return ch >= 'a' && ch <= 'z';」と、
// これまた間違いのなさそうな記述
System.out.println(
CharUtils.isAsciiAlphaLower( 'A' ));
// => false
//////////////////////////////////////////////////
// isAsciiAlphaUpper
// アルファベットの大文字のみture
// 中身は、そうです、ご想像の通りです
System.out.println(
CharUtils.isAsciiAlphaUpper( 'a' ));
// => false
//////////////////////////////////////////////////
// isAsciiNumeric
// 数字のみture
// 中身はもちろん「ch >= '0' && ch <= '9'」
System.out.println(
CharUtils.isAsciiNumeric( '0' ));
// => true
//////////////////////////////////////////////////
// isAsciiControl
// 制御文字(改行とか、タブとか、ナル文字とか)であればtrue
// 中身は「return ch < 32 || ch == 127」
// スペースは入らない
System.out.println(
CharUtils.isAsciiControl( ' ' ) );
// => false
// タブは入る
System.out.println(
CharUtils.isAsciiControl( '\t' ) );
// => true
//////////////////////////////////////////////////
// isAsciiPrintable
// printableな文字であればtrue
// つまり、制御文字じゃなければtrue
// 中身はisAsciiControlの逆で「return ch >= 32 && ch < 127」
// スペースはOK
System.out.println(
CharUtils.isAsciiPrintable( ' ' ) );
// => true
// タブはNG
System.out.println(
CharUtils.isAsciiPrintable( '\t' ) );
// => false
// JavaDoc
// http://commons.apache.org/lang/api-release/org/apache/commons/lang/CharUtils.html