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

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

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

например:

email : abc@gmail.com\xa0\xa0
street : 123 Main St.\xc2\xa0

желаемый вывод:

  email : abc@gmail.com
  street : 123 Main St.

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

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

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

Вывод

abc@gmail\xe9.com
abc@gmail.com\xa0\xa0
16
задан Raedwald 26 November 2018 в 11:06
поделиться