【发布时间】:2013-08-12 05:11:31
【问题描述】:
我正在开发安卓系统。我有一个如下所示的字符串。
String str = "@test1|test2|test3@test4|test5|test6|test7@test8|test9|test10|test11@test12|test13|test14|test15@......"
我使用String[] str1 = str.split("[@]");将上面的字符串与“@”分开
这样最终的结果就是
str1[0] = test1|test2|test3
str1[1] = test4|test5|test6|test7
...
我用的代码sn-p
for (int x = 1; x < str1.length; x++) {
String[] st1 = str1 [x].trim().split("\\|");
System.out.println("first" + st1[0].trim());
System.out.println("second" + st1[1].trim());
System.out.println("third" + st1[2].trim());
System.out.println("fourth" + st1[3].trim());
List1.add(st1[0].trim());
List2.add(st1[1].trim());
List3.add(st1[2].trim());
List4.add(st1[3].trim());
}
在上面的 for 循环中,当循环从 x=2 开始时,它工作正常。但是如果我给 x=1 那么它就是抛出数组 “System.out.println("fourth" + st1[3].trim());”处的索引越界异常。是因为 str1[0] 仅包含 3 个项目,而其余项目包含 4 个项目。所以现在我无法在用“|”分割后得到第四个值。请告诉我如何获得第四个值。提前致谢。
【问题讨论】: