字符串分割为多个阵列
问题描述:
对于我的程序,从用户的输入将是这样的:字符串分割为多个阵列
{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的子字符串)。然后用逗号分隔。这应该返回一个包含数字的字符串数组。从那里将字符串解析为整数,并存储在整数数组中。
答
此代码将帮助您
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。它不假定用户在给定数组之间添加空格,但是;这是我不会相信用户记住的事情。
啊这似乎工作。我做了另一个数组来保存每个序列作为一个元素,然后重新排序(现在更容易)。谢谢 :) – Serpace 2015-03-31 15:27:12