http://koteitan.seesaa.net/article/47717182.html http://icu-project.org/download/ http://www7a.biglobe.ne.jp/~java-master/samples/string/index.html !ICU4J Java で全角半角変換やひらがなカタカナ変換を行うライブラリ 使い方( 注意:リンク先丸パクリです) import com.ibm.icu.text.*; import com.ibm.icu.util.*; import java.util.*; public class Main { public static void main(String args[]) { String data = "AaAアいろはアイウエイウエ"; Transliterator tr1 = Transliterator.getInstance("Fullwidth-Halfwidth"); Transliterator tr2 = Transliterator.getInstance("Katakana-Hiragana"); Transliterator tr3 = Transliterator.getInstance("Hiragana-Latin"); System.out.println(tr1.transliterate(data)); System.out.println(tr2.transliterate(data)); System.out.println(tr3.transliterate(data)); DateFormat df = new SimpleDateFormat("Gy年M月d日", new DateFormatSymbols(new JapaneseCalendar(), Locale.JAPANESE)); df.setCalendar(new JapaneseCalendar()); System.out.println(df.format(new Date())); } } 日本語で使いそうなID * Fullwidth-Halfwidth * Halfwidth-Fullwidth * Hiragana-Katakana * Hiragana-Latin * Katakana-Hiragana * Katakana-Latin * Latin-Hiragana * Latin-Katakana * Any-Hiragana * Any-Katakana !マッピングテーブルを作る方法 リンク先丸パクリ 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("ジャヴァプログラミング")); } } ハッシュテーブルだと、「ー」とかも対象とするときとかに応用が利くので マッピングテーブルはハッシュテーブルにしても良いかもしれない。 {{category2 プログラミング言語,Java}}