0

特殊文字 (ä、à、è、ç、î、ñ.ö など) を含む文字列をアスキー文字に変換しようとしています。私の例:

String newName = oldName.replaceAll("\\s","").replaceAll("[^a-zA-Z0-9]", "");

すべての特殊文字が消えることを除いて、これは正常に機能します...これらの文字をASCII形式に「変換」する簡単な方法はありますか?

たとえば、「François Müdé」は「francoismuede」になります。これをどのように実装すればよいですか?

4

1 に答える 1

1

一般的に言えば、ASCII非常に貧弱で古いキャラクター テーブルであり、実際には必要なキャラクターが含まれていません。

しかし、あなたの問題はどうですか、それはASCIIテーブルとは関係ありません。Java は で動作しunicodeます。必要なのは、そのようなシンボルを正規表現に含めることです[^a-zA-Z0-9äàèçîñö]

核となる問題は、a-zまたはA-Z( と呼ばれるsymbol classes) のような通常の構文には、そのような特別な国の記号が含まれていないことです。それらを手動で含める必要があります。

于 2013-06-05T09:12:19.320 に答える