基于不均匀的空白数量分割字符串

时间:2012-09-12 11:52:40

标签: c# .net regex string

我需要拆分一个看起来像这样的字符串

1052 root         0 SW<  [hwevent]

进入以下

1052
root
0
SW<
[hwevent]

当然,我可以掀起一个forloop并将字符索引与白色空格进行比较,当事件不是白色空格时,将该事件添加到一个新的字符串数组中,但我觉得这是一个非常脏的方法来做到这一点

拆分此字符串的好方法是什么?也许是正则表达式?

2 个答案:

答案 0 :(得分:11)

您可以使用StringSplitOptions.RemoveEmptryEntries

string strtemp = "1052 root         0 SW<  [hwevent]";
string[] array = strtemp.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

答案 1 :(得分:9)

是的,正则表达式:

splitArray = Regex.Split(subjectString, @"\s+");

<强>解释

\s+一次匹配一个或多个空白字符,因此它会分割任何(正数)空白字符。