使用分隔符IndexOutOfBoundException的Java拆分字符串
我在尝试按分隔符拆分字符串时遇到了一些问题。一些示例输入包括:使用分隔符IndexOutOfBoundException的Java拆分字符串,java,string,delimiter,Java,String,Delimiter,我在尝试按分隔符拆分字符串时遇到了一些问题。一些示例输入包括: 2@800:00 3. 4@9:00AM@1000:00 5@10:00AM@11:00AM@12下午1:00 我想使用分隔符@拆分字符串,将其限制为仅两次,并分配给不同的变量。这是我的密码: String[] separated; String day = null, text1 = null, text2 = null; separated = objects.get(position).split("@"
2@800:00
3.
4@9:00AM@1000:00
5@10:00AM@11:00AM@12下午1:00
我想使用分隔符@
拆分字符串,将其限制为仅两次,并分配给不同的变量。这是我的密码:
String[] separated;
String day = null, text1 = null, text2 = null;
separated = objects.get(position).split("@");
day = separated[0];
text1 = separated[1];
text2 = separated[2];
但是,我得到了一些indexOutOfBoundException
,因为有些字符串没有两个分隔符@
,有些超过了两个
我想要的输出是第一个字符串,我将2
分配给day变量
,8:00AM
分配给text1变量
,分配给text2变量
。然后我执行一些逻辑以显示在UI中。然后我将继续分割第二个字符串
如何执行此操作?您可以通过测试阵列的长度来测试阵列中放入了多少个部件
e、 g
嘿,抱歉,只是一个快速检查,假设我想用另一个分隔符分割,我如何实现它?例如,2@8:00AM%user1。我想使用分隔符@和%。有可能吗?是的,split
使用regex,所以在regex101.com上玩一玩,看看什么是有效的(可能是split(“@|%”)
if (separated.length > 2) {
text2 = separated[2];
}
else {
text2 = "";
}