【问题标题】:Remove diacritics from string in Java [duplicate]从Java中的字符串中删除变音符号[重复]
【发布时间】:2012-05-22 10:04:57
【问题描述】:

可能重复:
ń ǹ ň ñ ṅ ņ ṇ ṋ ṉ ̈ ɲ ƞ ᶇ ɳ ȵ --> n or Remove diacritical marks from unicode chars

如何从字符串中删除变音符号?

例如转换所有适用于所有语言的 á->a、č->c 等。

我正在进行全文搜索,需要忽略搜索文本上的任何变音符号。

谢谢

【问题讨论】:

  • this 有帮助吗?

标签: java android string


【解决方案1】:

使用 API 级别 9+,您可以使用 Normalizer 类,例如

String normalized = Normalizer.normalize("âbĉdêéè", Form.NFD)
    .replaceAll("\\p{InCombiningDiacriticalMarks}+", "");

(Keysers 链接的答案看起来更好,它清除了更多废话)

这将返回"abcdeee"

【讨论】:

  • 谢谢,就是这样!对 API 9+ 感到羞耻,但我可以忍受它。
猜你喜欢
  • 2021-11-01
  • 2015-08-30
  • 2011-04-07
  • 2010-09-19
  • 2012-12-10
  • 2012-01-21
  • 1970-01-01
  • 2022-01-03
相关资源
最近更新 更多