从String中删除垃圾字符

时间:2013-04-19 05:23:58

标签: android regex

在我的Android应用程序中,当我从NFC芯片读取特定数据时,它会显示垃圾值,如下所示,打印在日志上

我使用以下行删除垃圾值

str.replaceAll("[^\\p{ASCII}]", "")

但它不起作用。

请给我解决方案。

3 个答案:

答案 0 :(得分:1)

这是因为不是ASCII个字符。这是一个unicode角色,(int) �返回65533

您的代码str.replaceAll("[^\\p{ASCII}]", "")效果非常好。

scala> val str ="����������������"
str: String = ����������������

scala> str.replaceAll("[^\\p{ASCII}]", "")
res8: String = ""

您需要显示更多代码并解释您的具体操作。

答案 1 :(得分:0)

最好以UTF-8格式检索数据然后帮助。尝试一下。

或将字符串转换为UTF-8格式

String _data=new String(str.getBytes(),"UTF-8");

以UTF-8格式返回数据

答案 2 :(得分:0)

使用此方法.replaceAll("[^\\x00-\\x7F]", "")

的一种解决方案
String str = "jorgesys���������������� was here!";
str = str.replaceAll("[^\\x00-\\x7F]", ""));

所以str的结果是:

jorgesys was here!