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

C# string.split基于c中逗号的第n个位置#,c#,string,C#,String,我有字符串: string string1 = "0,11,22,33,5500,2000,9800,10,10,10,10,10,10,10,10,10,10,"; 现在我必须把这个字符串从逗号的第四个位置分开。我需要分别获取值5500200009800 如何像这样拆分字符串?您可以使用LINQ和Skip: var array = string1.Split(',').Skip(4).ToArray(); 如果要限制数组的元素(只需获取3个值): 我假设您不知道LINQ,所以请记住导入名称

我有字符串:

string string1 = "0,11,22,33,5500,2000,9800,10,10,10,10,10,10,10,10,10,10,";
现在我必须把这个字符串从逗号的第四个位置分开。我需要分别获取值5500200009800


如何像这样拆分字符串?

您可以使用LINQ和
Skip

var array = string1.Split(',').Skip(4).ToArray();
如果要限制数组的元素(只需获取3个值):

我假设您不知道LINQ,所以请记住导入名称空间以便使用
LINQ
扩展方法(如果未导入):

编辑(见评论):

如果您想让它们像字符串一样:

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

.你为什么不这样做呢:

string string1 = "0,11,22,33,5500,2000,9800,10,10,10,10,10,10,10,10,10,10,";
string[] parts = string1.Split(',');
string firstPart = string.Join(",",parts.Take(4));
string secondPart = string.Join(",",parts.Skip(4).Take(3));
string thirdPart= string.Join(",",parts.Skip(7));
OP提出了一个后续问题,以下是他的回答:

要连接零件,请执行以下操作:

string string1 = "0,11,22,33,5500,2000,9800,10,10,10,10,10,10,10,10,10,10,";
string[] parts = string1.Split(',');
string firstPart = string.Join(",",parts.Take(4));
string secondPart = string.Join(",",parts.Skip(4).Take(3));
string thirdPart= string.Join(",",parts.Skip(7));

用逗号拆分,取前4个元素,将两个子字符串重新连接在一起,你尝试了什么?嗨,我在这里发布了我的代码。你能检查一下并告诉我怎么做吗?为什么两次?如果需要结果,比如
5500200009800
使用
string.Join
。示例:
string sResult=string.Join(“,”部分)@user3894187-我修改了它,所以它可以做你想要的。顺便说一句
Split
已经返回了一个数组,您不必调用
ToArray
并毫无目的地创建同一数组的新实例。@pwas-nice catch:)最后我想加入这些拆分数组。第1组将有0,11,22,33,第2组将有5500200009800,第3组将有剩余。可能吗?如果我的问题不清楚,我会在detail@pwas不应该是
Take(30)
@hassansar nice catch:)不使用linq可以吗?
string firstPart = string.Join(",",parts.Take(4));
string secondPart = string.Join(",",parts.Skip(4).Take(3));
string thirdPart= string.Join(",",parts.Skip(7));