Удалить не-ASCII непечатаемые символы из строки

Я получаю пользовательский ввод, включая символы не ASCII и непечатные символы, такие как

\xc2d
\xa0
\xe7
\xc3\ufffdd
\xc3\ufffdd
\xc2\xa0
\xc3\xa7
\xa0\xa0

например:

email : [email protected]\xa0\xa0
street : 123 Main St.\xc2\xa0

желаемый результат:

  email : [email protected]
  street : 123 Main St.

Каков наилучший способ их удаления с помощью Java?
Я попробовал следующее, но, похоже, не работает

public static void main(String args[]) throws UnsupportedEncodingException {
        String s = "abc@gmail\\xe9.com";
        String email = "[email protected]\\xa0\\xa0";

        System.out.println(s.replaceAll("\\P{Print}", ""));
        System.out.println(email.replaceAll("\\P{Print}", ""));
    }

Выход

abc@gmail\xe9.com
[email protected]\xa0\xa0

Ответы на вопрос(6)

Ваш ответ на вопрос