Android Java String操作无效

时间:2014-07-27 10:12:10

标签: java android string replace contains

我发现所有字符串操作似乎都不起作用的问题:

String received_message = new String(lmessage, 0, packet.getLength());

注意:received_message是" start.hello.end"

if (received_message.startsWith("start.") && received_message.endsWith(".end"))
{
    result = 1;
}

received_message = received_message.replace("start.", "");
received_message = received_message.replace(".end", "");

结果:

结果为0,receive_message仍为" start.hello.end"

-

但这是正常的:

if (received_message.startsWith("s") && received_message.endsWith("d"))
{
    result = 1;
}

received_message = received_message.replace("s", "");
received_message = received_message.replace(".", "");

如果我用一个Char来实现这个功能,那就好了。

如何让它适用于整个字符串?

1 个答案:

答案 0 :(得分:0)

问题在于编码。 Windows服务器使用Unicode,Android系统使用UTF-16作为标准。所以String包含一些不可见的字符..