全角文字は2桁、半角文字は1桁として文字数をカウントするサンプルです。
サンプルメソッド
例)全角文字は2桁、半角文字は1桁として文字数をカウントする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/** * 全角文字は2桁、半角文字は1桁として文字数をカウントする * @param str 対象文字列 * @return 文字数 */ public static int getHan1Zen2(String str) { //戻り値 int ret = 0; //全角半角判定 char[] c = str.toCharArray(); for(int i=0;i<c.length;i++) { if(String.valueOf(c[i]).getBytes().length <= 1){ ret += 1; //半角文字なら+1 }else{ ret += 2; //全角文字なら+2 } } return ret; } |
- (実行例)
- abc ⇒3 あいうえお ⇒10 あaいbうcえdお ⇒14
メモ
- UTF-8だと全角文字が3バイトだったりするため、全角文字を2とカウントしたい場合にご利用ください。
- null対応はおこなっていないため、引数にnullを渡すと例外が発生します。