我正在通过移动电话和带有SIM卡的电子设备之间的SMS开发用于M2M通信的应用程序.
当我从移动设备向设备发送命令时,此设备会向具有此结构的移动设备返回确认字符串.
确认没问题:
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
字符串数组的长度为2,它的长度为0.
使用"."
?拆分字符串有什么问题吗?我已经完成了相同的过程来使用a拆分它","
并且它已正确地完成了int.