Remover caracteres não imprimíveis não ASCII de uma string
Eu recebo entrada do usuário incluindo caracteres não-ASCII e caracteres não imprimíveis, como
\xc2d
\xa0
\xe7
\xc3\ufffdd
\xc3\ufffdd
\xc2\xa0
\xc3\xa7
\xa0\xa0
por exemplo:
email : [email protected]\xa0\xa0
street : 123 Main St.\xc2\xa0
saída desejada:
email : [email protected]
street : 123 Main St.
Qual é a melhor maneira de removê-los usando o Java?
Eu tentei o seguinte, mas não parece funcionar
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}", ""));
}
Saída
abc@gmail\xe9.com
[email protected]\xa0\xa0