我有以下字符串:
"(X,Y,Z),(A,B,C),(R,S,T)"
我想将其拆分为多维数组:
arr[0] = [x,y,z]
arr[1] = [a,b,c]
arr[2] = [r,s,t]
以便:
arr[0][1] = y, arr[0][2] = z, etc.
我可以通过剥离第一个和最后一个parens,在“),(”上拆分,然后循环遍历该数组并进行另一个拆分来做到这一点,但是我感到肮脏,不纯净,就像在backalley栏上的剥离器一样。有没有更清洁的方法?
也许一些LINQ可以解救吗?
我正在使用C#。
最佳答案
string data = "(X,Y,Z),(A,B,C),(R,S,T)";
string[][] stringses = data.Trim('(', ')')
.Split(new[] {"),("}, StringSplitOptions.RemoveEmptyEntries)
.Select(chunk => chunk.Split(','))
.ToArray();