Eliminar signos diacríticos de la cadena en Java [duplicado]

Posible duplicado:
ń ǹ ň ñ ṅ ņ ṇ ṋ ṉ ̈ ɲ ƞ ᶇ ɳ ȵ -> n o Eliminar las marcas diacríticas de los caracteres Unicode

¿Cómo eliminar los signos diacríticos de las cadenas?

Por ejemplo, transforme todos los á->a, č->c, etc. que funcionarían para todos los idiomas.

Estoy haciendo una búsqueda de texto completo y necesitaría ignorar cualquier signo diacrítico en el texto buscado.

Muchas Gracias

preguntado el 22 de mayo de 12 a las 11:05

¿Afecta la regulación de la este ¿ayuda? -

1 Respuestas

Usando el nivel de API 9+ puede usar el Normalizador clase, por ejemplo

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

(La respuesta vinculada a Keysers se ve mejor, limpia más basura)

Esto volvería "abcdeee".

Respondido el 20 de junio de 20 a las 10:06

¡Gracias, eso es todo! Lástima de API 9+, pero puedo vivir con eso. - Puntero nulo

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.