当前位置: 首页 > 面试题库 >

在Java中将字符串转换为二维字符串数组

卫才
2023-03-14
问题内容

我喜欢例如转换字符串:

String data = "1|apple,2|ball,3|cat";

变成这样的二维数组

{{1,apple},{2,ball},{3,cat}}

我尝试使用该split("")方法,但仍然没有解决方法:(

谢谢..


问题答案:

String data = “1|apple,2|ball,3|cat”;
String[] rows = data.split(“,”);

    String[][] matrix = new String[rows.length][]; 
    int r = 0;
    for (String row : rows) {
        matrix[r++] = row.split("\\|");
    }

    System.out.println(matrix[1][1]);
    // prints "ball"

    System.out.println(Arrays.deepToString(matrix));
    // prints "[[1, apple], [2, ball], [3, cat]]"

除了使用String.split正则表达式外,其他操作非常简单,因此元字符|需要转义。

也可以看看

  • 正则表达式和转义特殊字符
  • Java Arrays.equals()对于二维数组返回false。
    • 使用Arrays.deepToStringArrays.deepEquals用于多维数组

另类

如果知道行和列的数量,则可以预分配a String[][]并使用a Scanner,如下所示:

    Scanner sc = new Scanner(data).useDelimiter("[,|]");
    final int M = 3;
    final int N = 2;
    String[][] matrix = new String[M][N];
    for (int r = 0; r < M; r++) {
        for (int c = 0; c < N; c++++) {
            matrix[r][c] = sc.next();
        }
    }
    System.out.println(Arrays.deepToString(matrix));
    // prints "[[1, apple], [2, ball], [3, cat]]"


 类似资料:
  • 问题内容: 我有一个; 我想转换为字符串数组。我该怎么做?有内置的Java函数吗?可以手动完成,但是我正在搜索Java内置函数。 我想要一个数组,其中字符串的每个字符都是一个字符串。像char’n’现在将是存储在数组中的字符串“ n”。 问题答案: 要开始你的作业,请在正则表达式上拆分字符串,该表达式可以为空字符串: 产生数组: 留空的第一条目留给读者练习:-) 注意:在Java 8中,不再包含空

  • 在C++中将二维字符数组复制到一维数组字符串中最简单的方法是什么? 大概是这样的: 问候蒂尔曼

  • 问题内容: 我想将a转换为Character类的对象数组,但无法执行转换。我知道我可以使用该方法将String转换为原始数据类型类型为“ char”的数组,但这无助于将String转换为Character类型的对象数组。 我将如何去做? 问题答案: 用这个:

  • 本文向大家介绍在Java中将字符串集合转换为字符串数组,包括了在Java中将字符串集合转换为字符串数组的使用技巧和注意事项,需要的朋友参考一下 首先,创建一个字符串集- 现在,使用toArray()方法转换为字符串数组- 示例 以下是在Java中将字符串集转换为字符串数组的程序- 输出结果

  • 问题内容: 如果字符串是java中的任何有效数字(例如int,long,double等),我如何将字符串转换为抽象数字。 我将不知道字符串中数字的类型,所以我不能使用特定的原始解析(例如Integer.parseInt,Long.parseLong等)。有什么通用的方法可以转换它吗? 例如: 字符串->数字 “ 23423”-> 23423 “ 34.3”-> 34.3 “ 45364573747

  • 我正在使用Schembuf在带有套接字的计算机之间更改数据。要传输数据,我使用以下内容: 然而,我注意到Protobuf无法读取任何非int类型的接收数据(它将其分配给0)。果不其然,如果我不使用套接字,但试图用相同的代码片段返回消息,则会发生相同的情况: 我还指出: 那么,为什么我不能正确地将数据转换回字符串呢?如果这是一个参考问题,为什么protobuf不能读取字符数组数据或从字符数组转换的字