我将字符串转换为jagged数组的int有问题。我尝试使用linq,但无法使其工作。有什么建议我怎么办?
String Numbers = "[1, 2, 3, 4] [5, 6, 7, 8]";
String [][] myStrings = output.Text.Split(']').Select(t => t.Split(',')).ToArray();
int[][] ints = Array.ConvertAll(myStrings, t => int.Parse(t));
答案 0 :(得分:1)
我认为你看起来像这样:
var re= Numbers.Split(new[] { "] " },StringSplitOptions.RemoveEmptyEntries)
.Select(s => s.Replace("[", "").Replace("]", "").Split(',').Select(st=>int.Parse(st)).ToArray())
.ToArray();
首先拆分字符串数组表示,然后删除括号并用','拆分,最后将string
集合的每个元素转换为int
并调用ToArray
扩展方法。
答案 1 :(得分:1)
由于]
和[
符号
String Numbers = "[1, 2, 3, 4] [5, 6, 7, 8]";
int [][] ints =
Numbers.Trim(']','[').Split(new [] {"] ["}, StringSplitOptions.RemoveEmptyEntries)
.Select(t => t.Split(',').Select(s=>int.Parse(s)).ToArray())
.ToArray();
使用Fiddle
尝试此示例