base.Ascii
Ascii文字に関しての定義と、Asciiでの文字列の比較
Asciiを使うことでコメント付きマジックナンバーから
key == 127 //DEL
ASCIIで指定
key == Ascii. DEL
と書き換えられる。
ただ、\r
や\n
の略称名のCR
、LF/NL
を覚えるのは物凄く大変そう。
Staticメソッド
equalsIgnoreCase
boolean equalsIgnoreCase(CharSequence s1, CharSequence s2)
Ascii限定で比較するので、String.toLowerCaseや、String.equalsIgnoreCaseより高速 で、大文字・小文字の区別なく文字列を比較できる。
ファイル拡張子を見分けるため(.jpg と .JPGは同じとする)、双方をtoLowercaseにして比べたりしていますが、それよりはコードはコンパクトになります。
isLowerCase
boolean isLowerCase(char c)
a-zかどうか
isUpperCase
boolean isUpperCase(char c)
A-Zかどうか
toLowerCase
char toLowerCase(char c)
String toLowerCase(CharSequence chars)
String toLowerCase(String string)
a-z 限定で、小文字に、Stringsのは日本語だから影響ないか、幅広く小文字化する。
toUpperCase
char toUpperCase(char c)
String toUpperCase(CharSequence chars)
String toUpperCase(String string)
A-Z 限定で、大文字に
truncate
truncate(CharSequence seq, int maxLength, String truncationIndicator)
truncateは切り縮めるという意味だが、そのとおりに、長い文字列を指定の文字列で収まるようにする。省略される箇所は、truncationIndicator
の文字列が表示される。そして文字列の長さは、truncationIndicator含めて、maxLength
内に収まる。
truncationIndicator部分が長いと、本文は短くなる。後ろも残したい場合は、後ろは別途取り出す。
本文 | 切り詰められた分 | 引数 |
---|---|---|
今日はいい天気 | 今日は.. | ("今日はいい天気",5,"..) |
スペースが限られたセルリストなどで、本文を省略表示したり、あるいはログで頭の文字列を確認するとか使えそう。
関連
charがAsciiかどうか調べるには、base.CharMatcherのASCIIを使う
public static final CharMatcher ASCII = inRange('\0', '\u007f', "CharMatcher.ASCII");