C# 将多个空白字符视为单个分隔符

C# 将多个空白字符视为单个分隔符,c#,parsing,C#,Parsing,当方法String.Split(null)在一行中遇到许多空白字符时,它将每个空白字符视为分隔符 因此,对于以下字符串abcd,结果是: {"a", "b", "c", , , "d"} // for string[] res = "a b c d".Split(null); 是否可以使String.Split(null)将许多空白字符视为单个分隔符?有没有其他方法可以做到这一点 也就是说,是否有一种方法可以实现这一结果: {"a", "b", "c", "d"} 在我开始重新发明轮

当方法
String.Split(null)
在一行中遇到许多空白字符时,它将每个空白字符视为分隔符

因此,对于以下字符串
abcd
,结果是:

{"a", "b", "c", , , "d"}   // for string[] res = "a b c   d".Split(null);
是否可以使
String.Split(null)
将许多空白字符视为单个分隔符?有没有其他方法可以做到这一点

也就是说,是否有一种方法可以实现这一结果:

{"a", "b", "c", "d"}
在我开始重新发明轮子(编写我自己的方法将多个空白字符转换为单个字符,然后使用
String.Split(null)
)之前,我想检查是否有一个现有的方法可以为我执行此操作。

您需要将此添加到
Split
方法中。此枚举中有一个

yourString.Split(null, StringSplitOptions.RemoveEmptyEntries)
你需要通过考试。这将删除列表中的额外条目。要保持默认(即空白)分割,您可以继续将
null
作为第一个参数传递,例如:

"a b c   d".Split((char[])null, StringSplitOptions.RemoveEmptyEntries)

起初,拆分似乎是解析某些东西的一个明显选择,因为它非常简单,但它并不用于解析。只有当你在做骇客的事情时才使用split。