• 締切済み

半角カナ文字の変換

半角カナ文字(濁点あり)の全角カナ文字への変換がうまくいかなくて悩んでいます。 現在、 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)); } } このような処理をしているのですが、 半角カナ+濁点(例えば、ガ)の変換が、 「カ゛」となってしまいます。 これを「ガ」とするにはどうすればよいでしょうか?? 何か良い方法がありましたら教えてください。 お願いします。

みんなの回答

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.3

単なる思いつきですけど、 文字列の後ろから1文字取って、濁点(または半濁点)の場合に濁音変換の処理をしたらどうでしょうか?

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

ロジックだけから言うと、半角カナは濁点・半濁点が直前の(全角)カナを規制する(影響する)ので、いつも1文字分を先読みをしていかないと、全角文字は決められないのではないですか。ですからテーブル索引方式を完遂できず、ややこしくなります。 その点はどうなっていますか。

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

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

grotta_azzurra
質問者

補足

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

関連するQ&A