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