Modifique su identifier para hacer lo que quiera. Puede quitar los caracteres no deseados utilizando una expresión regular con la transformación Remove
.
Por ejemplo, considere la cadena "'E & # x00E9; & # x043c; & # x0430; & # x0442; & # x0435; & # x043c; & # x0430; & # x0442; & # x0438; & # x043a; & # x0430; ":
"'E\u00E9 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430"
El identificador "Any-Latin; NFD; [^\\p{Alnum}] Remove"
se transcribir a América (que todavía puede incluir acentos), se descomponen los caracteres acentuados en la letra y diacríticos y eliminar cualquier cosa que no sea alfanumérico. La cadena resultante es "Eematematika".
Puede leer más sobre los identificadores en General Transforms en el sitio web de la ICU.
Ejemplo:
//import com.ibm.icu.text.Transliterator;
String greek
= "'E\u00E9 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430";
String id = "Any-Latin; NFD; [^\\p{Alnum}] Remove";
String latin = Transliterator.getInstance(id)
.transform(greek);
System.out.println(latin);
probados contra ICU4J 49.1.
Gracias McDowell: ¿podría darnos un ejemplo realmente rápido? –
@Nicholas Tolley Cottrell - Ejemplo agregado. – McDowell
Gracias de nuevo McDowell - Terminé usando "Any-Latin; NFD" porque quería preservar espacios. –