在Java中将特殊字符转换为普通字符

时间:2015-10-14 02:30:59

标签: java

我正在寻找一种将任何奇数字符转换为基本aA-zZ样式的有效方法。例如,将“нelloтнєяє”转换为“Hello There”。有没有什么可以让Java将任何和所有类似字母的字符转换为各自的字符?

1 个答案:

答案 0 :(得分:0)

基本答案是没有自动映射可以根据外观将Unicode符号转换为拉丁文[A-Za-z]字母,因为外观是主观的和随意的。如果你想这样做,你必须自己决定如何映射每个角色。首先,请考虑希腊字母'eta'(Η或Unicode 0x0397)。在图形上它看起来像字母H,但在语义上它不是。或者,考虑Cyrillic'er'(Р或Unicode 0x0420)......看起来像P但代表R

在更远的地方冒险,考虑Thaana写信Gaafu,(ގ或Unicode 0x078E)。考虑这是一个字母S的变体似乎毫无意义。

我确信你可以找到很多的非拉丁符号,这些符号模糊地与拉丁字符相似,但你的问题的答案是没有现有的映射。您必须根据自己的相似性标准对其进行定义。