从字符串中删除。

时间:2013-08-20 08:23:56

标签: java string

我有一个用于创建“单元”的自定义类。创建单元后,我将它们存储在ArrayList中。但是当我试图重新获得这些值时,我会在字符串之前得到一些奇怪的东西。

if (data.isSelected()) {
  response.add(data.getName() + "," + data.getSerialNumber());
}

返回:

[��BMW 320d Xdrive, 222201176��]

有没有人知道这些来自哪里,我该如何解除它们? 请告诉我是否需要提供更多代码。

编辑:

public ArrayList<SampleData> dataList;
System.out.println("Confirming data: " + valArr[i]); // here the chracters are normal
dataList.add(new SampleData(valArr[0].replace("[", "\0"), valArr[1].replace("]", "\0"), false));
System.out.println("Trying: " + dataList.get(i).toStrings()); // here i get the wierd "?" signs.

2 个答案:

答案 0 :(得分:3)

\0不是可打印字符。请勿将[]替换为\0,否则不会显示。。

修改

如果要删除括号[],请使用

valArr[0].replace("[", "")

答案 1 :(得分:0)

您可以按如下方式删除 。可能是字符编码问题。它具有Unicode值0xFFFD

    String returnStr="[��BMW 320d Xdrive, 222201176��]";
    System.out.println(returnStr.replaceAll("\\[|\\]|\\�",""));