我们要重命名字符串,这样才能将像德国变音符之类的“奇怪”字符转换为它们的官方非变音符表示形式。在Java中,是否有一些函数可以转换此类字符(也称为AMAP处理映射),不仅可以转换为德语变音符号,还可以转换为法语,捷克语或斯堪的纳维亚字符?原因是创建一个可以重命名文件/目录的函数,该文件/目录可以通过Subversion在不同平台上处理而不会出现问题。
这个问题类似,但是没有有用的答案。
您可以使用Unicode块属性\p{InCombiningDiacriticalMarks}
从字符串中删除(大多数)变音符:
public String normalize(String input) {
String output = Normalizer.normalize(input, Normalizer.Form.NFD);
Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
return pattern.matcher(output).replaceAll("");
}
不过,这不会取代德国人对变音符的渴望。它会变成ö
成o
,ä
成a
等。但这也许对您也没关系。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句