您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java有没有办法去掉重音,把一整串字母转换成普通字母?

Java有没有办法去掉重音,把一整串字母转换成普通字母?

使用java.text.Normalizer来处理这个给你。

string = Normalizer.normalize(string, Normalizer.Form.NFD);
// or Normalizer.Form.NFKD for a more "compatable" deconstruction 

这会将所有重音符号与字符分开。然后,你只需要比较每个字符和一个字母,然后扔掉那些不是字母。

string = string.replaceAll("[^\\p{ASCII}]", "");

如果你的文本使用unicode,则应改用以下代码

string = string.replaceAll("\\p{M}", "");

对于unicode\\P{M}匹配基本字形,\\p{M}(小写)匹配每个重音。

java 2022/1/1 18:21:34 有526人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶