字符串分割为多个阵列

问题描述:

对于我的程序,从用户的输入将是这样的:字符串分割为多个阵列

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

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

我已经取得与阵列的2维阵列,用于数字的每个序列:{}

我有困扰他们分成它们各自的阵列所以这将是这样的:

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

我会如何分裂它?我不知道如果我可以将这个字符串拆分为n个字符串,因为序列数量取决于用户。

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

+0

啊这似乎工作。我做了另一个数组来保存每个序列作为一个元素,然后重新排序(现在更容易)。谢谢 :) – Serpace 2015-03-31 15:27:12

此代码将帮助您

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将是最终的阵列。

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

这假定没有子数组,对于您的示例输入为true。它不假定用户在给定数组之间添加空格,但是;这是我不会相信用户记住的事情。