1つの静的関数を呼ぶだけで、あらゆる仮名文字・ローマ字の相互変換を可能に
convertKana
を呼び出した後に変換オプションを与えると実行できます半角カタカナを全角に変換するサンプルコード
String input_str = "カナ・ツールズ v1.0";
int conv_op_flags = KanaConverter.OP_HAN_KATA_TO_ZEN_KATA;
String output_str = KanaConverter.convertKana(input_str, conv_op_flags);
System.out.println(output_str);
// "カナ・ツールズ v1.0"
半角カタカナを全角に、全角英数字を半角に、同時に変換するサンプルコード
String input_str = "カナ・ツールズ v1.0";
int conv_op_flags = KanaConverter.OP_HAN_KATA_TO_ZEN_KATA | KanaConverter.OP_ZEN_ASCII_TO_HAN_ASCII;
String output_str = KanaConverter.convertKana(input_str, conv_op_flags);
System.out.println(output_str);
// "カナ・ツールズ v1.0"
ある文字列に対して、KanaConverter ができる変換処理の詳細
変換オプション | 例 | 対象文字 |
---|---|---|
OP_HAN_ASCII_TO_ZEN_ASCII 半角英数字を全角に変換 |
Ja (12) → Ja (12) |
半角ローマ字の大文字、小文字、数字、スペース、句読点 |
OP_HAN_LETTER_TO_ZEN_LETTER 半角英字を全角に変換 |
Ja → Ja | 半角ローマ字の大文字と小文字 |
OP_HAN_NUMBER_TO_ZEN_NUMBER 半角数字を全角に変換 |
12 → 12 | 半角ローマ字の数字 |
OP_HAN_SPACE_TO_ZEN_SPACE 半角スペースから全角に変換 |
→ | 半角ローマ字のスペース文字 |
OP_HAN_KATA_TO_ZEN_HIRA 半角カタカナから全角ひらがなに変換 |
ジャ → じゃ | 半角カタカナ文字、そして ー, 。, 「, 」, 、, ・ |
OP_HAN_KATA_TO_ZEN_KATA 半角カタカナから全角に変換 |
ジャ → ジャ | 半角カタカナ文字、そして ー, 。, 「, 」, 、, ・ |
OP_KEEP_DIACRITIC_MARKS_APART 濁点・半濁点を単独の文字として残す |
ジャ → シ゛ャ | ゙ と ゚ を半角から全角に変換する際に、全角の文字として合体させない。この変換オプションは、 OP_HAN_KATA_TO_ZEN_HIRA ・OP_HAN_KATA_TO_ZEN_KATA でしか利用できない。 |
OP_ZEN_ASCII_TO_HAN_ASCII 全角英数字から半角に変換 |
Ja (12) → Ja (12) |
全角ローマ字の大文字、小文字、数字、スペース、句読点 |
OP_ZEN_LETTER_TO_HAN_LETTER 半角英字を全角に変換 |
Ja → Ja | 全角ローマ字の大文字と小文字 |
OP_ZEN_NUMBER_TO_HAN_NUMBER 全角数字を半角に変換 |
12 → 12 | 全角ローマ字の数字 |
OP_ZEN_SPACE_TO_HAN_SPACE 全角スペースから半角に変換 |
→ | 全角ローマ字のスペース文字 |
OP_ZEN_HIRA_TO_HAN_KATA 全角ひらがなから半角カタカナに変換 |
じゃ → ジャ | 全角ひらがな文字、そして ー, 。, 「, 」, 、, ・ |
OP_ZEN_HIRA_TO_ZEN_KATA 全角ひらがなから全角カタカナに変換 |
じゃ → ジャ | 全角ひらがな文字 |
OP_ZEN_KATA_TO_HAN_KATA 全角カタカナから半角に変換 |
ジャ → ジャ | 全角カタカナ文字、そして ー, 。, 「, 」, 、, ・ |
OP_ZEN_KATA_TO_ZEN_HIRA 全角カタカナから全角ひらがなに変換 |
ジャ → じゃ | 全角カタカナ文字 (ヴ 以外) |
各変換オプションは、リポジトリ上にある SingleOpTest (全対象文字の単体テスト) を参照して下さい。
KanaConverter の利用例
住所や電話番号などは、カタカナや英数字などがよく全角・半角が混ぜた状態で入力されます。
これを簡単に統一できます。
東京都北区赤羽6−30−1 赤羽ヒルズ
東京都北区赤羽6-30-1 赤羽ヒルズ
// Set the necessary conversion flags in a flag-based integer
int conversion_flags = 0;
conversion_flags |= KanaConverter.OP_HAN_KATAKANA_TO_ZEN_KATA;
conversion_flags |= KanaConverter.OP_ZEN_ASCII_TO_HAN_ASCII;
// Convert the string
String standardized_address = KanaConverter.convertKana(input_address, conversion_flags);
文字列にひらがなとカタカナが混ざっていても、簡単に変換できます。
デカい
でかい
String mixed_word = "デカい";
int conversion_flags = KanaConverter.OP_ZEN_KATA_TO_ZEN_HIRA;
String all_hiragana_word = KanaConverter.convertKana(mixed_word, conversion_flags);
HTML タグの括弧など、必要に応じて特定の文字を変換から除外することができます。
<script>
<script>
String string_with_html = "<script>";
String excluded_chars = "<>";
String safe_conversion = KanaConverter.convertKana(string_with_html, KanaConverter.OP_ZEN_ASCII_TO_HAN_ASCII, excluded_chars);