我有以下字符串:

"(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();

10-05 22:01
查看更多