2012-05-22 2 views
4

Можно создать дубликат:
ń ǹ ň ñ ṅ ņ ṇ ṋ ṉ ̈ ɲ ƞ ᶇ ɳ ȵ --> n or Remove diacritical marks from unicode charsУдалить диакритические из строки в Java

Как удалить диакритические из строки?

Например, преобразуйте все á-> a, č-> c и т. Д., Которые будут работать на всех языках.

Выполняю полнотекстовый поиск, и вам нужно будет игнорировать любые диакритики в искомом тексте.

Благодаря

+0

Помогает ли [это] (http://stackoverflow.com/q/1453171/645270)? – keyser

ответ

16

Используя уровень API 9+ вы можете использовать Normalizer класс, например,

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

(Keysers связан ответ выглядит лучше, она очищает больше дерьма)

Это возвращение "abcdeee".

+1

Спасибо, вот и все! Позор по API 9+, но я могу жить с ним. –

Смежные вопросы