C# 是否可以按逗号分割字符串,但不能按逗号空格分割

C# 是否可以按逗号分割字符串,但不能按逗号空格分割,c#,arrays,split,C#,Arrays,Split,我正在浏览设计糟糕的逗号分隔数据。在大多数情况下,每个“部分”都用逗号正确分隔: string old_data=第1节的数据,第2节的数据,第3节中的ID 这与第4节不同,第4节的数据以“逗号空白”分隔: string old_data=第1节的数据、第2节的数据、第3节的ID、第4节的部分、第2节的部分、第4节的部分、第3节的数据 是否有可能将这5个部分放入一个数组中,而不在该数组中包含7个项目?我认为以下方法应该有效: var data = Regex.Split(old_data, @"

我正在浏览设计糟糕的逗号分隔数据。在大多数情况下,每个“部分”都用逗号正确分隔:

string old_data=第1节的数据,第2节的数据,第3节中的ID

这与第4节不同,第4节的数据以“逗号空白”分隔:

string old_data=第1节的数据、第2节的数据、第3节的ID、第4节的部分、第2节的部分、第4节的部分、第3节的数据


是否有可能将这5个部分放入一个数组中,而不在该数组中包含7个项目?

我认为以下方法应该有效:

var data = Regex.Split(old_data, @",(?!\s)");

这方面的一个例子是。

我认为以下方法应该有效:

var data = Regex.Split(old_data, @",(?!\s)");

这方面的一个例子是。

编辑后,我确实订阅了您的信。非常感谢。这对于任何类型的空格都是非常好的,但是如果您需要排除只有
n
个空格的匹配项,那么可以使用一个简单的old
Regex.Split(old_data,@“,(?!\s“+n+”)
应该做这项工作。编辑后我同意你的观点。谢谢!这对于任何类型的空格都是非常好的,但是如果你需要排除只有
n个空格的匹配项,那么简单的
Regex.Split(old_data,@“,(?!\s“+n+”)
应该做这项工作。