我有以下示例代码:
String n = "Péña";
n = Normalizer.normalize(n, Normalizer.Form.NFC);
Run Code Online (Sandbox Code Playgroud)
如何标准化n除以外的字符串ñ?
而且不仅是该字符串,我还在制作表单,并且我希望保留ñ's,以及其他所有没有变音符号的内容。
将所有出现的“ñ”替换为不可打印的字符“ \ 001”,这样“Péña”将变为“Pé\ 001a”。然后调用Normalizer.normalize()将“é”分解为“ e”和一个单独的变音标记。最后删除变音标记,并将不可打印的字符转换回“ñ”。
String partiallyNormalize(String string)
{
string = string.replace('ñ', '\001');
string = Normalizer.normalize(string, Normalizer.Form.NFD);
string = string.replaceAll("[\\p{InCombiningDiacriticalMarks}]", "");
string = string.replace('\001', 'ñ');
return string;
}
Run Code Online (Sandbox Code Playgroud)
您可能还想投票赞成从字符串中删除UTF-8重音的简单方法的首选答案?,在那里我学会了如何删除变音标记。
| 归档时间: |
|
| 查看次数: |
1828 次 |
| 最近记录: |