チョコミントアイス

半角カナ文字(濁点あり)の全角カナ文字への変換がうまくいかなくて悩んでいます。

現在、
HashTable.put("ア","ア");

HashTable.put("ン","ン");
このような感じで変換テーブルを作成し、

String strVal = "半角カナ文字";

for(int i = 0; i < strVal.length(); i++){
  char c = strVal.charAt(i);
if(HashTable.containsKey(c)){
strTmp.append(HashTable.get(c));
}
}

このような処理をしているのですが、
半角カナ+濁点(例えば、ガ)の変換が、
「カ゛」となってしまいます。
これを「ガ」とするにはどうすればよいでしょうか??

何か良い方法がありましたら教えてください。
お願いします。

A 回答 (3件)

単なる思いつきですけど、



文字列の後ろから1文字取って、濁点(または半濁点)の場合に濁音変換の処理をしたらどうでしょうか?
    • good
    • 0

ロジックだけから言うと、半角カナは濁点・半濁点が直前の(全角)カナを規制する(影響する)ので、いつも1文字分を先読みをしていかないと、全角文字は決められないのではないですか。

ですからテーブル索引方式を完遂できず、ややこしくなります。
その点はどうなっていますか。
    • good
    • 0

replaceAllを使えば良さそうな気がします。

この回答への補足

すいません。補足です。
JDKのversionは1.3.1
です。

補足日時:2004/12/05 20:22
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!