2

我在 mysql 数据库中有数千个名称,其中包含扩展的 ASCII 代码。我想将它们转换为普通的英文字母。这是一个例子:

Indāpur Jejuri 转换为 -> Indapur Jejuri

那么我该怎么做呢?我知道 Java 和 Groovy 以及许多其他脚本语言,但运气不佳。有什么建议吗?

4

1 回答 1

2

在浏览了stackoverflow中的许多帖子后,我找到了答案:Converting Symbols, Accent Letters to English Alphabet

import java.text.Normalizer;
import java.util.regex.Pattern;

public String deAccent(String str) {
    String nfdNormalizedString = Normalizer.normalize(str, Normalizer.Form.NFD); 
    Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
    return pattern.matcher(nfdNormalizedString).replaceAll("");
}
于 2014-03-24T14:20:22.027 回答