string.split基于c#中逗号的第n个位置

时间:2014-08-08 06:34:48

标签: c# string

我有字符串:

string string1 = "0,11,22,33,5500,2000,9800,10,10,10,10,10,10,10,10,10,10,";

现在我必须将此字符串从逗号的第4个位置拆分。我需要单独获得值5500,2000,9800。

我怎么能像这样拆分我的字符串?

2 个答案:

答案 0 :(得分:5)

您可以使用LINQ和Skip

var array = string1.Split(',').Skip(4).ToArray();

如果要限制数组的元素(只想获得3个值):

var array = string1.Split(',').Skip(4).Take(3).ToArray();

我假设您不了解LINQ,因此请重新导入名称空间以使用LINQ扩展方法(如果未导入):

using System.Linq;

编辑(见评论):

var splitted = string1.Split(',');
var firstArr = splitted.Take(4);
var secondArray = splitted.Skip(4).Take(3);
var thirdArray = splitted.Skip(7);

如果你想让它们像一个字符串:

var s1 = string.Join(",", firstArray);
var s2 = string.Join(",", secondArray);
var s3 = string.Join(",", thirdArray);

答案 1 :(得分:2)

。你为什么不这样做:

string string1 = "0,11,22,33,5500,2000,9800,10,10,10,10,10,10,10,10,10,10,";
string[] parts = string1.Split(',');

当OP询问跟进问题时,他的回答是:

要加入这些部件,请执行以下操作:

string firstPart = string.Join(",",parts.Take(4));
string secondPart = string.Join(",",parts.Skip(4).Take(3));
string thirdPart= string.Join(",",parts.Skip(7));