Как конвертировать акцентированные буквы в обычный символ в Java - PullRequest
4 голосов
/ 26 декабря 2009

Как мне преобразовать Æ и á в обычный английский char с Java? У меня есть что-то вроде этого: Местное телевидение из Паран á. Как преобразовать это в [Парана]?

Ответы [ 2 ]

6 голосов
/ 26 декабря 2009

Посмотрите на icu4j или нормализатор JDK 1.6:

public String removeAccents(String text) {
    return NNormalizer.normalize(text, Normalizer.Form.NFD)
                     .replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}
0 голосов
/ 26 декабря 2009

Насколько я знаю, нет способа сделать это автоматически - вам придется заменить вручную, используя String.replaceAll .

String str = "Paraná";
str = str.replaceAll("á", "a");
str = str.replaceAll("Æ", "a");
...