当方法String.Split(null)
在一行中遇到许多空白字符时,它会将每个空白字符视为分隔符。
因此,对于以下字符串a b c d
,结果为:
{"a", "b", "c", , , "d"} // for string[] res = "a b c d".Split(null);
是否可以将String.Split(null)
作为单个分隔符处理许多空格字符?是否有不同的方法可以做到这一点?
{"a", "b", "c", "d"}
在我去重新发明轮子之前(编写我自己的方法将多个空白字符转换为单个字符然后使用String.Split(null)
)我想检查是否有现有方法可以为我执行此操作
答案 0 :(得分:2)
您需要将此StringSplitOptions.RemoveEmptyEntries
添加到Split
方法。有一个overload接受此枚举
yourString.Split(null, StringSplitOptions.RemoveEmptyEntries)
答案 1 :(得分:0)
您需要通过StringSplitOptions.RemoveEmptyEntries
。这将删除列表中的额外条目。为了保持默认(即空格)分割,你可以继续传递null
作为第一个参数,例如:
"a b c d".Split((char[])null, StringSplitOptions.RemoveEmptyEntries)