小编典典

从Unicode字符串中删除重音符号的简单方法?

java

我想改变这句话:

等等。

至 :

等等。

有没有像我在Objective-C中那样在Java中执行此操作的简便方法?

NSString *str = @"Et ça sera sa moitié.";
NSData *data = [str dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *newStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];

阅读 224

收藏
2020-09-08

共1个答案

小编典典

最后,我通过使用Normalizer类解决了它。

import java.text.Normalizer;

public static String stripAccents(String s) 
{
    s = Normalizer.normalize(s, Normalizer.Form.NFD);
    s = s.replaceAll("[\\p{InCombiningDiacriticalMarks}]", "");
    return s;
}
2020-09-08