如何拆分数组中的字符串[重复]
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("\\||,");
请注意,使用它后,您的字符串中会有空格,因为您的初始字符串有空格。请考虑修剪它们以获得所需的输出。
【讨论】:
以上是关于如何拆分数组中的字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章
linux shell脚本:拆分字符串,将它们放在一个数组中然后循环它们[重复]