如何在 c# 中将逗号分隔的括号括起来(嵌套)逗号分隔值的字符串转换为列表列表

本文关键字:分隔 列表 字符串 转换 嵌套 起来 | 更新日期: 2023-09-27 18:34:05

给定一个字符串,如下所示

"(5678, 2, 41, 3), (4852, 8, 3, 97), (4562, 85, 3, 7)"

如何在 c# 中将其转换为三个父值的列表(或数组),每个父值都是其四个子值的列表(或数组)?

我想

如果这有意义的话,我想以List<List<int>>结束。

如何在 c# 中将逗号分隔的括号括起来(嵌套)逗号分隔值的字符串转换为列表列表

可能

不是最好的解决方案,但它会起作用。这是代码:

string value = "(5678, 2, 41, 3), (4852, 8, 3, 97), (4562, 85, 3, 7)";
var result = value
               .Split(')')
               .Select(i => i.Replace('(', ' '))
               .Select(i => i.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
               .ToList()).ToList();

我会使用正则表达式将字符串拆分为(p1),(p2),(p3),然后是一个简单的字符串。Split() 访问每个父项的子值。