アルファベットの変換
こちらのサイトのページを自分用に書き写したものです。
http://www7a.biglobe.ne.jp/~java-master/samples/string/index.html
全角アルファベットを半角アルファベットに変換する
public class ZenkakuAlphabetToHankaku { public static String zenkakuAlphabetToHankaku(String str) { StringBuffer sb = new StringBuffer(str); for (int i = 0; i < sb.length(); i++) { char c = sb.charAt(i); if (c >= 'a' && c <= 'z') { sb.setCharAt(i, (char)(c - 'a' + 'a')); } else if (c >= 'A' && c <= 'Z') { sb.setCharAt(i, (char)(c - 'A' + 'A')); } } return sb.toString(); } public static void main(String[] args) { System.out.println(zenkakuAlphabetToHankaku("☆Javaプログラミング")); } }
①引数にとったString型の変数strにより、StringBufferクラスのインスタンスを生成する。
②左から1文字ずつchar型の変数cに代入していく。
③char型には文字コードが格納されているので大小の比較が可能。変数cの文字コードが全角の'a'から'z'の間にあるか、もしくは全角の'A'から'Z'の間にある場合はそれを半角の文字コードに直したい。そこでcの文字コードからまず全角の’a’または'A'の文字コードを引いたあとに、半角の'a'または'A'の文字コードを足せば、cの文字コードを半角に直したものを得られる。それをint型からchar型に直し、setCharAtメソッドで書き換える。
④最後にtoStringメソッドでString型に直して返す。