如何拆分数组中的字符串[重复]

Posted

技术标签:

【中文标题】如何拆分数组中的字符串[重复]【英文标题】:How to Split Strings in an Array [duplicate] 【发布时间】:2018-01-23 15:51:33 【问题描述】:

首先,我知道可能有重复但我不明白,所以请不要将其标记为重复!

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

原文:

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)变成一个字符串吗(如果是,如何)?然后又分裂了?

【问题讨论】:

array2.split(", ");? 您的第二个拆分不会设置为使用逗号吗?你似乎有它在一个空间 您可以在一次调用中拆分多个分隔符。 是的,感谢您的编辑 - 已修复!我会调查的。 我发布了链接。 【参考方案1】:

您似乎想在 ", "" | " 上拆分。

由于split支持正则表达式,你可以写成

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

【讨论】:

【参考方案2】:

你可以使用character classes,在这种情况下不需要转义

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

【讨论】:

【参考方案3】:

你的错误在这一行

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

您不能对数组使用拆分方法。拆分方法在字符串上。所以基本上你必须遍历array2 并对每个String 应用拆分。

或者干脆使用正则表达式

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

请注意,使用它后,您的字符串中会有空格,因为您的初始字符串有空格。请考虑修剪它们以获得所需的输出。

【讨论】:

以上是关于如何拆分数组中的字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将字符串拆分为字符串数组[重复]

如何在PHP中按字符将数组拆分为关联数组[重复]

linux shell脚本:拆分字符串,将它们放在一个数组中然后循环它们[重复]

如何将字符串中的“\t”拆分为两个单独的字符“\”和“t”? (如何拆分转义序列?)[重复]

在子字符串中拆分 NSString [重复]

如何在 | 上拆分字符串Java中的(管道)[重复]