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

来源:互联网 发布:淘宝虚假交易买家处罚 编辑:程序博客网 时间:2024/05/16 00:45

全角アルファベットを半角アルファベットに変換する
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プログラミング☆"));
  }
}

全角数字を半角数字に変換する
package samples.string.japanese;

public class HankakuNumberToZenkakuNumber {
  public static String hankakuNumberToZenkakuNumber(String s) {
    StringBuffer sb = new StringBuffer(s);
    for (int i = 0; i < s.length(); i++) {
      char c = s.charAt(i);
      if (c >= '0' && c <= '9') {
        sb.setCharAt(i, (char) (c - '0' + '0'));
      }
    }
    return sb.toString();
  }

  public static void main(String[] args) {
    System.out.println(hankakuNumberToZenkakuNumber("お買い上げ金額は¥1980です。"));
  }
}

全角カタカナを半角カタカナに変換する
package samples.string.japanese;

public class ZenkakuKatakanaToHankakuKatakana {
  private static final char[] ZENKAKU_KATAKANA = { 'ァ', 'ア', 'ィ', 'イ', 'ゥ',
      'ウ', 'ェ', 'エ', 'ォ', 'オ', 'カ', 'ガ', 'キ', 'ギ', 'ク', 'グ', 'ケ', 'ゲ',
      'コ', 'ゴ', 'サ', 'ザ', 'シ', 'ジ', 'ス', 'ズ', 'セ', 'ゼ', 'ソ', 'ゾ', 'タ',
      'ダ', 'チ', 'ヂ', 'ッ', 'ツ', 'ヅ', 'テ', 'デ', 'ト', 'ド', 'ナ', 'ニ', 'ヌ',
      'ネ', 'ノ', 'ハ', 'バ', 'パ', 'ヒ', 'ビ', 'ピ', 'フ', 'ブ', 'プ', 'ヘ', 'ベ',
      'ペ', 'ホ', 'ボ', 'ポ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ャ', 'ヤ', 'ュ', 'ユ',
      'ョ', 'ヨ', 'ラ', 'リ', 'ル', 'レ', 'ロ', 'ヮ', 'ワ', 'ヰ', 'ヱ', 'ヲ', 'ン',
      'ヴ', 'ヵ', 'ヶ' };

  private static final String[] HANKAKU_KATAKANA = { "ァ", "ア", "ィ", "イ", "ゥ",
      "ウ", "ェ", "エ", "ォ", "オ", "カ", "ガ", "キ", "ギ", "ク", "グ", "ケ",
      "ゲ", "コ", "ゴ", "サ", "ザ", "シ", "ジ", "ス", "ズ", "セ", "ゼ", "ソ",
      "ゾ", "タ", "ダ", "チ", "ヂ", "ッ", "ツ", "ヅ", "テ", "デ", "ト", "ド",
      "ナ", "ニ", "ヌ", "ネ", "ノ", "ハ", "バ", "パ", "ヒ", "ビ", "ピ", "フ",
      "ブ", "プ", "ヘ", "ベ", "ペ", "ホ", "ボ", "ポ", "マ", "ミ", "ム", "メ",
      "モ", "ャ", "ヤ", "ュ", "ユ", "ョ", "ヨ", "ラ", "リ", "ル", "レ", "ロ", "ワ",
      "ワ", "イ", "エ", "ヲ", "ン", "ヴ", "カ", "ケ" };

  private static final char ZENKAKU_KATAKANA_FIRST_CHAR = ZENKAKU_KATAKANA[0];

  private static final char ZENKAKU_KATAKANA_LAST_CHAR = ZENKAKU_KATAKANA[ZENKAKU_KATAKANA.length - 1];
 
  public static String zenkakuKatakanaToHankakuKatakana(char c) {
    if (c >= ZENKAKU_KATAKANA_FIRST_CHAR && c <= ZENKAKU_KATAKANA_LAST_CHAR) {
      return HANKAKU_KATAKANA[c - ZENKAKU_KATAKANA_FIRST_CHAR];
    } else {
      return String.valueOf(c);
    }
  }

  public static String zenkakuKatakanaToHankakuKatakana(String s) {
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < s.length(); i++) {
      char originalChar = s.charAt(i);
      String convertedChar = zenkakuKatakanaToHankakuKatakana(originalChar);
      sb.append(convertedChar);
    }
    return sb.toString();

  }
  public static void main(String[] args) {
    System.out.println(zenkakuKatakanaToHankakuKatakana("ジャヴァプログラミング"));
  }
}

全角ひらがなを全角カタカナへ変換する
package samples.string.japanese;
public class ZenkakuHiraganaToZenkakuKatakana {
  /*
   * ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞ
   * ただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽ
   * まみむめもゃやゅゆょよらりるれろゎわゐゑをん
   *
   * ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾ
   * タダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポ
   * マミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
   */
  public static String zenkakuHiraganaToZenkakuKatakana(String s) {
    StringBuffer sb = new StringBuffer(s);
    for (int i = 0; i < sb.length(); i++) {
      char c = sb.charAt(i);
      if (c >= 'ぁ' && c <= 'ん') {
        sb.setCharAt(i, (char)(c - 'ぁ' + 'ァ'));
      }
    }
    return sb.toString();   
  }
  public static void main(String[] args) {
    System.out.println(zenkakuHiraganaToZenkakuKatakana("じゃば・ぷろぐらみんぐ"));
  }
}