[英]How to convert accented letters to regular char in Java
How do I convert Æ
我如何转换Æ
and á
和á
into a regular English char with Java?用 Java 转换成普通的英文字符? What I have is something like this: Local TV from Paran á
我有的是这样的:Paran á
Local TV . . How to convert it to [Parana]?如何将其转换为 [Parana]?
Look at icu4j or the JDK 1.6 Normalizer:查看 icu4j 或 JDK 1.6 Normalizer:
public String removeAccents(String text) {
return Normalizer.normalize(text, Normalizer.Form.NFD)
.replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}
As far as I know, there's no way to do this automatically -- you'd have to substitute manually using String.replaceAll .据我所知,没有办法自动执行此操作——您必须使用String.replaceAll手动替换。
String str = "Paraná";
str = str.replaceAll("á", "a");
str = str.replaceAll("Æ", "a");
Try something similar to the following code snippet:尝试类似于以下代码片段的操作:
import org.apache.commons.lang3.StringUtils;
public class Test {
public static void main(String[] args) {
String original = new String("Ramesh Öhrman");
try {
System.out.println(StringUtils.stripAccents(original));
} catch (Exception e) {
}
}
}
Output: Ramesh Ohrman输出:Ramesh Ohrman
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.