Измените свой идентификатор , чтобы сделать то, что вы хотите. Вы можете удалить ненужные символы с помощью регулярного выражения с преобразованием Remove
.
Например, рассмотрим строку "'E & # x00E9; & # x043c; & # x0430; & # x0442; & # x0435c; & # x043c; & # x0430; & # x0442; & # x0438; & # x043a; & # x0430; "
"'E\u00E9 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430"
Идентификатор "Any-Latin; NFD; [^\\p{Alnum}] Remove"
транслитерируется на латиницу (которая может содержать акценты), разлагает акцентированные символы на буквы и диакритические знаки и удаляет все, что не является буквенно-цифровым. Результирующая строка: "Eematematika" .
Подробнее об идентификаторах читайте в разделе Общие преобразования на сайте ICU.
Пример: * * один тысяча двадцать-одна
//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);
Проверено на ICU4J 49.1.