将字符串拆分为多个数组

Splitting a string into multiple Arrays

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

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

可以有多个 { },里面有任意数量的 ... 数字。

我已经为每个数字序列制作了一个二维数组:{}

我无法将它们拆分到各自的数组中,所以它会是这样的:

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

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

在“”(space) 上拆分字符串,然后从那里删除花括号(可能取一个子字符串,从索引 1 到索引长度-1)。然后用逗号分开。那应该 return 一个包含数字的字符串数组。从那里将字符串解析为整数,并存储在整数数组中。

此代码会对您有所帮助

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++;
        }

    }
}
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 将是最终数组。

创建一个 collection 数组(输入数组的类型,如果知道的话)。 在“{”上拆分数组。 使用生成的数组,您从每个字符串中删除“}”并将其拆分为“,”。 然后遍历生成的字符串数组,解析其内容并构建您的条目类型的数组。 最后,将该数组添加到您的 collection.

这假设没有 sub-arrays,对于您的样本输入是正确的。但是,它不假定用户在给定数组之间添加了空格;这是我不相信用户会记住的事情。