我有这段代码:
List<String[]> list = csvReader.readAll();
// Convert to 2D array
String[][] dataArr = new String[list.size()][];
现在我想以特定值替换一些char。
dataArr = list.toArray(dataArr);
String help = Arrays.toString(dataArr[0]).replace("[", "");
dataArr[0] = help;
但是我收到了这个错误:
不兼容的类型:字符串无法转换为String []
我的问题是,我该如何解决这个问题?
编辑:
哇,谢谢所有的输入。我必须更具体一点,这是我的输入文件:
[0,0,0,1,1]
[1,1,1,1,1]
[0,0,0,0,0]
[1,0,1,0,1]
[0,1,0,1,0]
这一行:
System.out.println(Arrays.deepToString(dataArr));
导致以下输出:
[[[0,0,0,1,1]],[[1,1,1,1,1]],[[0,0,0,0,0]],[[1, 0,1,0,1]],[[0,1,0,1,0]]]
我想替换双重&#34; [[&#34;和&#34;]]&#34;到&#34; [&#34;和&#34;]&#34;。
答案 0 :(得分:1)
要替换所有“[[
”,您只需使用
String output = Arrays.deepToString(dataArr);
output = output.replaceAll("\\[\\[","\\[");
output = output.replaceAll("\\]\\]","\\]");
output = output.substring(2, output.length()-2);
String[] matrix = output.split("\\],\\[");
那应该这样做
答案 1 :(得分:1)
dataArr是一个字符串的2D数组。您正在尝试将help String分配给dataArr [0],它是一个字符串数组。你必须指定第二个索引,例如
dataArr[0][0] = help;
答案 2 :(得分:0)
dataArr
的类型为String [] []
您无法使用
为其指定字符串dataArr[0] = help;
答案 3 :(得分:0)
dataArr[0] = help;
这是你的问题。可以通过以下方式解决:
dataArr[0][0] = help;