我正在开发一款应用程序,用于通过手机和具有SIM卡的电子设备之间的短信进行M2M通信。划分字符串点分隔
当我从移动设备向设备发送命令时,该设备向具有该结构的移动设备返回确认字符串。
确认OK:
DEV33456, 15, Date: yy/mm/dd-hh:mm:ss. OK
确认错误:
DEV33456, 15, Date: yy/mm/dd-hh:mm:ss. ERROR
现在,在我的应用我来管理这个消息来获得相关信息。例如,该消息的第一部分是识别码(DEV33456)所以要得到它,我拆分消息:
String[] separated = message.split(",");
String ident = separated[0]; //DEV33456
但现在,我需要的最后一个字(OK或ERROR),以确定是否该消息是否可以。要做到这一点,我认为最简单的方法应该是使用OK或ERROR字前面的点来分割消息。是整个消息中的唯一的一点,所以它应该是这样划分的:
String[] separated = message.split(".");
String unused = separated[0]; //DEV33456, 15, Date: yy/mm/dd-hh:mm:ss
String error = separated[1]; //OK or ERROR
但它抛出ArrayIndexOutOfBoundsException
与调试它,我看到第一行后,其中separated
字符串数组应该有一个lenght 2,它的长度为0.
使用"."
分割字符串有什么问题吗?我已经完成了相同的过程来使用","
来分割它,并且它已经正确地完成了int。
已检查并正常工作。谢谢! – masmic