Ответ 1
Измените идентификатор, чтобы делать то, что вы хотите. Вы можете удалить ненужные символы с помощью регулярного выражения с преобразованием Remove
.
For example, consider the string "'Eé математика":
"'E\u00E9 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430"
Идентификатор "Any-Latin; NFD; [^\\p{Alnum}] Remove"
будет транслитерировать на латинский язык (который может содержать акценты), разделить акцентированные символы на букву и диакритику и удалить все, что не является буквенно-цифровым. Полученная строка - "Eematematika".
Подробнее о идентификаторах в General Transforms можно узнать на веб-сайте 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.