Как упростить (немного) Unicode до ASCII? - PullRequest
0 голосов
/ 25 марта 2019

Учитывая строку имен в юникоде, например

"Guns N’ Roses, 2 × 4, Rust in Peace… Polaris, Black No. 1 (Little Miss Scare‐All), À Tout Le Monde"

, где каждое имя содержит не-ASCII-символ ('' ',' × ','… ',' - ',' À '), я ищу алгоритм, который упростит его до

"Guns N' Roses, 2 x 4, Rust in Peace... Polaris, Black No. 1 (Little Miss Scare-All), A Tout Le Monde"

, где каждый не-ASCII символ был заменен заменой ASCII.

Я знаю, что могу обработать целый класс символов (включая 'А'), выполнив

Normalizer.normalize(value, Form.NFD).replaceAll("[^\\p{ASCII}]", "");

и, конечно, я мог бы легко обработать любой другой персонаж, используя несколько .replaceAll(), созданных вручную. Но мне интересно, есть ли какой-нибудь стандартный алгоритм, который не требует перечисления всех оставшихся символов, которые я хочу заменить. Есть ли даже название для того, что я хочу сделать?

...