【发布时间】:2018-01-23 12:46:54
【问题描述】:
假设我要拆分一个字符串,我想先用 char 'E' 拆分,然后再用 'space' 拆分。
String str = "30 3 3 11 5 2 2 7 9 2 1 20 E 21 2 2 11 14 5 2 1 7 3 6 E 30 4 3 11 5 21 2 15 20 3 17 9 5 1 32 E"
第一次拆分:
String[] first= str.split("E");
第二次拆分:
for(int i=0; i<first.length; i++){
String[] second = first[i].split(" ");
return Second;
}
但是,这只会返回索引 0 处的字符串数组。我想返回整个数组。我尝试将变量 String[] Second 放在循环之外。它不起作用。
我希望结果相当于:
String[][] result = {
{ "30", "3", "3" "11" "5" "2" "2" "7" "9" "2" "1" "20" },
{ "21", "2", "2" "11" "14" "5" "2" "1" "7" "3" "6" },
{ "30" "4" "3" "11" "5" "21" "2" "15" "20" "3" "17" "9" "5" "1" 32", "1", "32" }
};
有什么建议吗?
【问题讨论】:
-
您正在从 for 循环返回。这是正常行为。
-
return语句在第一次循环迭代中启动,因此它永远不会到达下一个循环迭代。您必须先将FirstSplit中的所有项目拆分,然后将它们合并到一个数组中,然后将其返回到循环之外。 -
您对此的预期输出是什么?数组还是数组?
-
FirstSplit包含什么?你能提供一个MCVE吗?在第一次迭代中已经离开了 for 循环。 -
@johnll 我期待数组,先生