JavaマスターJavaプログラムサンプル集文字列, 日本語処理のサンプル → 全角アルファベットを半角アルファベットに変換する

全角アルファベットを半角アルファベットに変換する

全角アルファベットを半角アルファベットに変換するメソッドを紹介します。

アルファベットについては、大文字と小文字の対応が1対1であり、 文字コード上でもA〜Zの順にならんでいることから、変換表を使わずに 比較的簡単に変換することができます。

samples/string/japanese/ZenkakuAlphabetToHankakuAlphabet.java - Eclipse SDK
package samples.string.japanese;
public class ZenkakuAlphabetToHankakuAlphabet {
  public static String zenkakuAlphabetToHankaku(String s) {
    StringBuffer sb = new StringBuffer(s);
    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プログラミング☆"));
  }
}

コマンド プロンプト

C:\JavaMaster\bin>java -cp . samples.string.japanese.ZenkakuAlphabetToHankakuAlphabet 
☆Javaプログラミング☆