мы принимаем всевозможные национальные символы в строке UTF-8 на входе, и нам нужно преобразовать их в строку ASCII на выходе для некоторого устаревшего использования. ( мы не принимаем китайские и японские символы,
Бозо
Есть какой-нибудь простой способ сделать это без миллиона вызовов .replaceAll ()?
Если вы просто поддерживаете европейские языки на основе латиницы, около 100 должно хватить; это определенно выполнимо: возьмите диаграммы Unicode для Latin-1 Supplement и Latin Extended-A и запустите вечеринку String.replace
. : -)
Вы хотите использовать ICU4J. Он включает класс com.ibm.icu.text.Transliterator
, который, очевидно, может делать то, что вы ищете.