Oli*_*ver 6 java string diacritics transliteration
我需要将使用拉丁字母书写的欧洲地方的名称与某些字符上的重音符号(变音符号)进行比较.有很多中央和写有像拉丁字符重音符号的东欧名称ž和ü,但有些人只是用常规的拉丁字符没有重音符号像写的名字z和u.
我需要一种方法让我的系统识别出例如与所用的所有其他重音字符mšk žilina相同msk zilina,并且类似.有一个简单的方法吗?
Bal*_*usC 11
您可以使用的java.text.Normalizer和小的正则表达式摆脱的区别标记.
public static String removeDiacriticalMarks(String string) {
return Normalizer.normalize(string, Form.NFD)
.replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}
Run Code Online (Sandbox Code Playgroud)
用法示例:
String text = "mšk žilina";
String normalized = removeDiacriticalMarks(text);
System.out.println(normalized); // msk zilina
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2204 次 |
| 最近记录: |