我在mysql数据库中有数千个名称,其中包含扩展的ASCII代码。我想将它们转换为普通的英文字母。这是一个例子:
IndāpurJejūri转换为 - > Indapur Jejuri
那我怎么办呢?我知道Java和Groovy,以及许多其他脚本语言,但没有太多运气。有什么建议吗?
答案 0 :(得分:0)
我在浏览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("");
}