如何在 Java 中将文本字符串拆分并复制到二维数组? 字符串值为
String input=`[1,Mumbai][2,Delhi][3,Chennai]`
我喜欢拆分和复制到二维字符串数组。
我的原始数据是 Java Servlet 上的二维字符串。我将该数组复制到 StringBuilder 中并返回到 Java 类。从这里开始,为了使用这些数据,我想将它带回 2D Array。
StringBuilder mbuscat = new StringBuilder();
String[][] abuscat = new String[11][2];
String lineSeparator = System.lineSeparator();
int b=0;
while(rset.next()) {
abuscat[b][0] = rset.getString(1);
abuscat[b][1] = rset.getString(2);
b ++;
}
for (String[] row : abuscat) {
mbuscat.append(Arrays.toString(row))
.append(lineSeparator);
}
我期望这样的输出
arry[0][0]="1"
arry[0][1]="mumbai"
arry[1][0]="2"
arry[1][1]="delhi"
arry[2][0]="3"
arry[2][1]="chennai"
最佳答案
在这里使用 String#split
可能有效:
String input = "[1,Mumbai][2,Delhi][3,Chennai]";
String[][] abuscat;
String[] parts = input.split("(?<=\\])(?=\\[)");
abuscat = new String[parts.length][2];
for (int r=0; r < parts.length; ++r) {
abuscat[r][0] = parts[r].replaceAll("[\\[\\]]", "").split(",")[0];
abuscat[r][1] = parts[r].replaceAll("[\\[\\]]", "").split(",")[1];
}
System.out.println(Arrays.deepToString(abuscat));
输出:
[[1, Mumbai], [2, Delhi], [3, Chennai]]
关于java - 有没有办法将 CSV 之类的文本字符串复制到二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55947443/