c# - 循环逗号分隔的字符串,分成多个数组?

标签 c# asp.net arrays string

我有一个字符串,格式如下:

div, v6571, 0, div, v8173, 300, p, v1832, 400

我想把这个字符串拆分成多个数组,对于上面的例子我需要 3 个数组,格式如下:

item[0] -> div
item[1] -> v6571
item[2] -> 0

我知道我可以对字符串执行 .Split(',') 并将其放入数组中,但那是一个大数组。对于上面的字符串示例,我需要 3 个具有上面提供的结构的数组。只是对字符串的迭代有点困惑!

谢谢!

最佳答案

我不确定你到底在找什么,但要将上面的内容变成三个单独的数组,我会做类似的事情:

var primeArray = yourString.Split(,);
List<string[]> arrays = new List<string[]>();
for(int i = 0; i < primeArray.Length; i += 3)
{
  var first = primeArray[i];
  var second = primeArray[i+1];
  var third = primeArray[i+2];

  arrays.Add(new string[] {first, second, third});
}

然后您可以遍历字符串数组列表并执行任何操作。

这确实假设您所有的字符串数组将始终为三个字符串长 - 如果不是,您将需要对该 primeArray 执行 foreach 并更手动地编码您的数组。

这是我使用的确切代码。请注意,它并没有真正改变我原来的非编译版本的任何内容:

var stringToSplit = "div, v6571, 0, div, v8173, 300, p, v1832, 400";
List<string[]> arrays = new List<string[]>();
var primeArray = stringToSplit.Split(',');
for (int i = 0; i < primeArray.Length; i += 3)
{
   var first = primeArray[i];
   var second = primeArray[i + 1];
   var third = primeArray[i + 2];
   arrays.Add(new string[] { first, second, third });
}

当我在调试中检查它时,它确实具有所有三个预期的数组。

关于c# - 循环逗号分隔的字符串,分成多个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5885855/

相关文章:

c# - 使用 EPPlus 通过表达式进行条件格式化

c# - 使用动态属性搜索 LINQ 中的 Where 子句

C#,快速泛型问题

.net - 利用 ASP.NET machineKey 加密我自己的数据

c++ - 二维 vector 数组的优点

c# - 将对象 [,] 转换为字符串 [,]

c# - 如何使用 CSV 助手附加 CSV?

c# - 指向站点某个区域的另一个域

arrays - 更新存储在 VBA 字典中的数组

c# - 序列化类型错误的对象时检测到循环引用?