私はアンドロイドに取り組んでいます。以下のような文字列があります。
String str = "@test1|test2|test3@test4|test5|test6|test7@test8|test9|test10|test11@test12|test13|test14|test15@......"
上記の文字列を「@」を使用して分割しているString[] str1 = str.split("[@]");
ため、最終結果は
str1[0] = テスト1|テスト2|テスト3
str1[1] = test4|test5|test6|test7
...
私が使用したコードスニペット
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 項目で構成されているためです。そのため、「|」で分割した後、4 番目の値を取得できません。4番目の値を取得する方法を教えてください。前もって感謝します。