有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在数组中拆分字符串

首先,我知道可能有一个副本,但我不理解,所以请不要将此标记为副本

我希望将数组(见下文)中的字符串拆分为字符:

原件:

String original = "0, 0, 0, 0 | 1, 1, 1, 1 | 2, 2, 2, 2"

数组:

String[] array2 = {"0, 0, 0, 0", "1, 1, 1, 1", "2, 2, 2, 2"}

我想要的结果是:

String[] arrayprime = {"0", "0", "0", "0", "1", "1", "1", "1", "2", "2", "2", "2"}

你会怎么做?我想到

String[] array2 = original.split("\\|");
String[] arrayprime = array2.split(", ");

但它似乎不起作用(说“找不到符号”)

我是否应该将数组(array2)设置为字符串(如果是,如何设置)?然后又分手了


共 (3) 个答案

  1. # 1 楼答案

    看起来您想在", "" | "上拆分

    因为split支持正则表达式,所以可以将其编写为

    String[] array = yourText.split(", | \\| ");
    //                                 ^-OR operator which creates 
    //                                   alternation between ", " and " | "
    
  2. # 2 楼答案

    你的错误在这行

    String[] arrayprime = array2.split(" ");
    

    不能对数组使用拆分方法。拆分方法位于字符串上。所以基本上你必须在array2上迭代并在每个String上应用split

    或者简单地使用正则表达式

    String[] array2 = original.split("\\||,");
    

    请注意,在将其用作初始字符串havespaces之后,字符串中会有空格。请考虑修剪它们以获得期望的输出。

  3. # 3 楼答案

    在这种情况下,可以使用不需要转义的^{}

        String original = "0, 0, 0, 0 | 1, 1, 1, 1 | 2, 2, 2, 2";
        String arr[]=original.split("[|,]");
        System.out.println(Arrays.toString(arr));