将逗号分隔的逗号分隔为较小的字符串

时间:2012-02-16 13:28:27

标签: .net-2.0

如何将逗号分隔的字符串拆分为较小的逗号分隔字符串?

我的字符串如下所示:1,2,3,4,5,6,7,8,9,10

我需要在每{n ,个字符出现后拆分字符串 例如。对于每第3次出现,上面的字符串将变成这些字符串:
1,2,3,4 5,6,7,8 9,10

可能看起来像家庭作业但不是,我的大脑只是累了,但我仍然需要完成工作。

3 个答案:

答案 0 :(得分:2)

尝试一个用逗号计算的循环; - )

未经测试,它看起来像:

int lastSplit = 0;
int commaCount = 0;
int n = 4;
List<string> parts = new List<string>();

for (int i = 0; i < s.Length; i++)
{
   if (s[i] == ',' && ++commaCount == n)
   {
      commaCount = 0;
      parts.Add(s.Substring(lastSplit, i - lastSplit));
      lastSplit = i + 1;
   }
}

parts.Add(s.Substring(lastSplit));

答案 1 :(得分:0)

你可以通过正则表达式来做到这一点。在rubular

上试用((?:[^,]+)(?:,(?:(?:[^,]*))){0,3})

哦,然后你需要换掉正则表达式中的“3”,无论你需要多少逗号。

答案 2 :(得分:0)

所以?

  [TestMethod]
  public void test()
  {

          string text = "1,2,3,4,5,6,7,8,9,10";
          var lists = Regex.Matches(text, ".,.,.,.");

          foreach (var x in lists)
          {
             Console.WriteLine(x.ToString());
          }

  }