java – 从Unicode字符串中删除重音的简便方法?
作者:互联网
参见英文答案 > Is there a way to get rid of accents and convert a whole string to regular letters? 11个
我想改变这句话:
Et ça sera sa moitié.
至 :
Et ca sera sa moitie.
有没有一种简单的方法在Java中执行此操作,就像我在Objective-C中所做的那样?
NSString *str = @"Et ça sera sa moitié.";
NSData *data = [str dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *newStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
解决方法:
最后,我通过使用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;
}
标签:java,string,unicode,diacritics 来源: https://codeday.me/bug/20190917/1809801.html