空字符串有" \ u0000"在末尾

时间:2016-02-12 14:02:42

标签: java android string ascii trim

我从服务器获得String响应,该响应应该是1个空格。价值如下所示:

enter image description here

我在Android上使用了trim()TextUtils.isEmpty(),但字符串描述仍然不是空的。我检查过它是否等于""或" ",但事实并非如此。 如何查看此特殊字符串?

我试图在字符串末尾替换\u0000个字符,看起来也不行。

2 个答案:

答案 0 :(得分:1)

尝试这样做

http://localhost:8081/debug/pprof/

这是做什么的,通过整个字符串,并删除包含input = input.replaceAll("\\s+", "");

的所有空白字符

它不保证在所有编码/字符集中删除 ALL ,但它通常会完成(更大部分)工作。如果有更多特殊/缺失的情况,请写下来,我们会将它们视为异常,而不是将它们归为“全能”解决方案。

此解决方案将从字符串中删除所有空格和空格。请尝试{ ' ', '\r', '\t', '\n' ...} ming,然后看看它与您达到预期最终结果的接近程度。

答案 1 :(得分:1)

字符160在NO-BREAK SPACE字符集中为UTF-8。您收到的string不是空的,但包含有效字符。

在您将此视为空string之前,首先要检查服务器尝试通知您的内容。

如果您仍想删除它,那么除了替换此\u0000 replace此字符外。

这样的事情可以做到:

description = description.replace(new String(new char[] {160}), "");