因为我最近学习了java所以我需要一种简单的方法来解决这个问题。
public static void main(String[] args) {
String test = "F: M1,“Khan lanh”,1; M2,”Trai cay dia”,3; M3,”Chuoi luoc”,1; M4,”Canh chua”,3";
String [] result= test.split("F:");
for (int i=1;i<result.length;i++){
String [] result1=result[i].split(";");
for (int j=0;j<result1[i].length();j++){
String [] result2= result1[j].split(",");
for(String s: result2){
System.out.println(s);
}
}
}
}
这与我的期望相去甚远:
M1
“Khan lanh”
1
M2
”Trai cay dia”
3
M3
”Chuoi luoc”
1
M4
”Canh chua”
3
答案 0 :(得分:4)
您需要将第二个for
循环中的条件更改为以下内容: -
for (int j = 0; j < result1.length; j++) { // traverse over all elements of result1 and thus use its length
你所做的是result1[i].length()
- 它将考虑i
数组的result1
索引中存在的分割字符串的长度,这是错误的。
此外,在旁注中,不应该首先for
以0
开头,而不是1
(只是看到你的字符串。1
应该在你的情况)。