分裂字符串时的ArrayIndexOutOfBoundsException

时间:2014-12-02 02:23:29

标签: android arrays indexoutofboundsexception

在我的Android应用中,我有一个字符串,其值始终来自yo_2014_rojo类型。 我需要将字符串分为三部分:part1 ="yo" part2="2014"part3="rojo"

我想按照以下方式进行:

String s[] = dato_seleccionado.split("_");
String s1 = s[0];
String s2 = s[1];
String s3 = s[2];

但应用程序崩溃时出现异常:ArrayIndexOutOfBoundsException

欢迎任何帮助。

3 个答案:

答案 0 :(得分:2)

试试这个......

String str = "yo_2014_rojo";
StringTokenizer token = new StringTokenizer(str , "_");
String part1 = token.nextToken(); //yo
String part2 = token.nextToken(); //2014
String part3 = token.nextToken(); //rojo

答案 1 :(得分:1)

尝试这样做:

String[] spliced = dato_seleccionado.split("_");

System.out.println(Arrays.toString(spliced)); // check if you have the correct output

String s1 = spliced[0];
String s2 = spliced[1];
String s3 = spliced[2];

答案 2 :(得分:1)

stringname.split()将Perl正则表达式作为参数。

尝试转义下划线,如下所示:

String[] spliced = dato_seleccionado.split("\\_");