将字符串拆分为多个数组

时间:2015-03-31 15:17:21

标签: java arrays string split

对于我的程序,用户的输入将是这样的:

{1,2,3} {1,2} {4,5,6}

可以有多个{ },其中包含任意数量的...数字。

我已经为每个数字序列创建了一个带有数组的二维数组:{}

我遇到麻烦将它们分成各自的数组,所以它会是这样的:

Array[0] = ["1","2","3"]    
Array[1] = ["1","2"]  
Array[2] = ["4","5","6"]  

我怎么会那样分裂呢?我不知道我是否可以将此字符串拆分为n个字符串,因为序列数取决于用户。

4 个答案:

答案 0 :(得分:3)

将字符串拆分为" " (空格),并从那里删除大括号(可能采用子索,从索引1到索引长度-1)。然后用逗号分隔。那应该返回一个包含数字的字符串数组。从那里将字符串解析为整数,并存储在整数数组中。

答案 1 :(得分:0)

此代码可以帮助您

public class T {
    public static void main(String[] args) {

        String s = "{1,2,3} {1,2} {4,5,6}";

        String[] mainArray = s.split(" ");
        String[][] result = new String[mainArray.length][];
        int count = 0;
        for (String t : mainArray) {
            result[count] = t.split(",");
            count++;
        }

    }
}

答案 2 :(得分:0)

var x = "{1,2,3} {1,2} {4,5,6}"; 
var y = x.split(" ");
var k =[];
for(var i = 0; i < y.length; i++){
    k.push((y[i].substring(1,y[i].length-1)).split(","));
} 

嗯,这就是你如何在javascript,算法中做到这一点。(我的错误读取标签) K将是最后一个阵列。

答案 3 :(得分:0)

创建一个数组集合(输入数组的类型,如果已知)。 将数组拆分为&#34; {&#34;。 使用生成的数组,您可以删除&#34;}&#34;从每个字符串中将其拆分为&#34;,&#34;。 然后迭代生成的字符串数组,解析其内容并构建条目类型的数组。 最后,将该数组添加到您的集合中。

这假设没有子数组,对于您的样本输入是true。但是,它并不假设用户在给定数组之间添加了空格;这是我不相信用户要记住的东西。