java - 将格式化字符串解析为数组

标签 java

我正在使用一个接收这种格式字符串的InputSteam。

[[1,3,4],[43,6,3],[4,2,5]]

我如何将其解析为可用的 java 数组?

最佳答案

这是一种无需使用第三方库即可解析该文本的方法。

public static int[][] parse(String text) {
    if (! text.startsWith("[[") || ! text.endsWith("]]"))
        throw new IllegalArgumentException("Invalid text: " + text);
    String[] subTexts = text.substring(2, text.length() - 2).split("\\],\\[");
    int[][] result = new int[subTexts.length][];
    for (int i = 0; i < subTexts.length; i++) {
        String[] valueTexts = subTexts[i].split(",");
        result[i] = new int[valueTexts.length];
        for (int j = 0; j < valueTexts.length; j++)
            result[i][j] = Integer.parseInt(valueTexts[j]);
    }
    return result;
}

测试

System.out.println(Arrays.deepToString(parse("[[1,3,4],[43,6,3],[4,2,5]]")));

输出

[[1, 3, 4], [43, 6, 3], [4, 2, 5]]

关于java - 将格式化字符串解析为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51756629/

相关文章:

java - 换行符缩进? ( java )

java - 在 java servlet 中嵌入 Apache fop 2.1

java - Maven NAR 插件 + webapp 中的 Spring boot,在 Tomcat 中加载 .nar Artifact

java - 每次我使用终端命令构建项目时,cordova 项目 native 应用程序中的 config.xml 都会更新

java - DragTabFrame 关闭不一致

java - 通过许多 Activity 传递变量

java - Android 应用程序在请求 HttpResponse<JsonNode> 时崩溃

c# - 使用哪种语言/工具

java - 从 Mule 中的 VM 队列读取以在 EmailingService 中发送电子邮件

java - 哪个是在android中将多张图片上传到服务器的最佳方式