如何在java中删除不可读的字符

问题描述:

SMS看起来像这样:^rk。如何在java中删除不可读的字符

预期结果是: 10他没有工作。

如何在Java中做到这一点?

谢谢。

+1

什么告诉你,这些字符确实是“不可读”?这可能是你没有正确编码... – fge

+1

尝试str.replace(/ [^ a-zA-Z]/g,“”) –

+0

@NayanSharma这不是有效的Java语法,正则表达式不会无论如何(不包括数字和其他特殊字符 - 使用它你会得到“他没有工作”)。 – Thomas

什么是这样的:

String result = "¿´10 he did't wo¿^rk".replaceAll("[^\\w\\s\\?'':;]",""); 
System.out.println(result); //10 he did't work 

请参阅此链接explanation

+0

在正则表达式中没有具体提到特定字符的解决方案吗?数据来自SMS。我相信这个角色“¿”意味着什么。 TQ。 –