A VER SI ALGUIEN ME RESPONDE

ALF
20 de Octubre del 2003
Quisiera saber como ignorar los acentos en un String para que al comparar dos String uno con acento y el otro sin acento, de como resultado que son iguales

concorde
20 de Octubre del 2003
Prueba lo siguiente:

Locale myLocale=new Locale("es","ES","Traditional_WIN");
Collator myCollator=Collator.getInstance(myLocale);
myCollator.setStrength(Collator.PRIMARY);
int comparacion=myCollator.compare(s1,s2);

Esto te deja en la variable comparación un entero con el resultado de la comparación (0 si son iguales, menor que 0 si s1 es menor que s2 y mayor que 0 si s1 es mayor que s2). La instrucción "myCollator.setStrength(Collator.PRIMARY)" hace que se la comparación se haga por el significado semántico, ignorando entre otras cosas los acentos.

Si creas una clase que implemente la interfaz comparator y usas en ella este código, tendrás un comparador que podrás usar en todas tus aplicaciones (algunas clases, por ejemplo colecciones, admiten un comparador en su constructor para hacer las ordenaciones en la colección según los criterios especificados en ese comparador. Mírate la interfaz Comparator en la ayuda de Java)