将数组的字符串表示形式转换为 Java 中的数组

ACa*_*ter 5 java arrays string type-conversion

我有一个 Java 字符串,如下所示:

String s = "{{\"2D\", \"array\"}, {\"represented\", \"in a string\"}}"
Run Code Online (Sandbox Code Playgroud)

如何将其转换为实际的数组?就像这样:

String[][] a = {{"2D", "array"}, {"represented", "in a string"}}
Run Code Online (Sandbox Code Playgroud)

(我正在寻找的是一个有点像 python 的解决方案eval()

Dan*_* D. 3

我强烈建议您使用支持 json 的库来解析您的String. 但是,只是为了好玩,请看一下下面的代码,它仅使用String方法即可完成您需要的操作:

String s = "{{\"2D\", \"array\"}, {\"represented\", \"in a string\"}}";
s = s.replace("{", "");
String[] s0 = s.split("},\\s");
int length = s0.length;
String[][] a = new String[length][];
for (int i = 0; i < length; i++) {
    a[i] = s0[i].replace("}", "").split(",\\s");
}
Run Code Online (Sandbox Code Playgroud)

  • 失败的地方是字符串中出现的任何“{”或“}”。 (6认同)