-3

I want ask something about split string. Example:

string str = "1,2,3,4,5,6,7,8,9,10";

I want to divide str into 3 parts so parts look like:

string str1 = "1,2,3";
string str2 = "4,5,6";
string str3 = "7,8,9,10";

How can I do this?

Kushal
  • 8,100
  • 9
  • 63
  • 82
xxx
  • 15
  • 2

2 Answers2

1

You can try this

public static string SplitString(string data,int size)
    {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < data.Length; i++)
        {
            if (i % size == 0)
                sb.Append(' ');
            sb.Append(data[i]);
        }
        return sb.ToString();
    }
Rock
  • 534
  • 6
  • 14
0

Try following :

            int size = 3;
            string str = "1,2,3,4,5,6,7,8,9,10";
            string[] splitArray = str.Split(new char[] { ',' }).ToArray();
            string[] results = splitArray.Select((x,i) => new { index = i, number = x})
                .GroupBy(x =>  (x.index  < size * (splitArray.Length/size)) ? (x.index / (splitArray.Length/size)) : (x.index / (splitArray.Length/size)) - 1)
                .Select(x => string.Join(",", x.Select(y => y.number)))
                .ToArray();
jdweng
  • 33,250
  • 2
  • 15
  • 20