Java 使用分隔符 IndexOutOfBoundException 拆分字符串
Java split string using delimiter IndexOutOfBoundException
我在尝试按分隔符拆分字符串时遇到了一些问题。一些样本输入是:
2@8:00AM
3
4@9:00AM@10:00AM
5@10:00AM@11:00AM@12:00PM
我想使用定界符@
拆分字符串,将其限制为仅两次并分配给不同的变量。这是我的代码:
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 variable
,8:00AM
分配给 text1 variable
,""
分配给 text2 variable
.然后我执行一些逻辑以在 UI 中显示。然后我将继续拆分第二个字符串。
我该怎么做?
您可以通过测试数组的length
来测试数组中有多少部分。
例如
if (separated.length > 2) {
text2 = separated[2];
}
else {
text2 = "";
}
我在尝试按分隔符拆分字符串时遇到了一些问题。一些样本输入是:
2@8:00AM
3
4@9:00AM@10:00AM
5@10:00AM@11:00AM@12:00PM
我想使用定界符@
拆分字符串,将其限制为仅两次并分配给不同的变量。这是我的代码:
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 variable
,8:00AM
分配给 text1 variable
,""
分配给 text2 variable
.然后我执行一些逻辑以在 UI 中显示。然后我将继续拆分第二个字符串。
我该怎么做?
您可以通过测试数组的length
来测试数组中有多少部分。
例如
if (separated.length > 2) {
text2 = separated[2];
}
else {
text2 = "";
}