If you know there are always 30 values, then it is pretty trivial with Regex:
string input = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30";
var matches = Regex.Match(input, @"^((?:\d+,){9}\d+),((?:\d+,){9}\d+),((?:\d+,){9}\d+)$");
You can work out the variations from there... ;-)