kai*_*uki 8 java arrays string
我想转换字符串例如:
String data = "1|apple,2|ball,3|cat";
Run Code Online (Sandbox Code Playgroud)
像这样的二维数组
{{1,apple},{2,ball},{3,cat}}
Run Code Online (Sandbox Code Playgroud)
我试过使用该split("")方法,但仍然没有解决方案:(
谢谢..
凯
pol*_*nts 22
    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]]"
Run Code Online (Sandbox Code Playgroud)
非常简单,除了String.split采用正则表达式,因此元字符|需要转义.
Arrays.deepToString和Arrays.deepEquals用于多维数组如果您知道将有多少行和列,您可以预先分配a String[][]并使用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]]"
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           29247 次  |  
        
|   最近记录:  |