用空格分隔文件

时间:2014-02-01 22:02:01

标签: c# string split streamreader

我正在读一个文件,每行有4个字。我想抓住每个单词并放入一个字符串数组。我认为每个单词之间的空格是一个标签,所以我尝试使用Split方法在看到标签时分割线条。但是单词之间的空格不仅仅是一个标签,我怎么告诉split方法这样做呢?

代码的相关部分:

using (StreamReader sr = new StreamReader(file))
{
    string line = sr.ReadToEnd();
    var words = line.Split(new Char[] {'\t'}); //Does not work..

    return words;
}

3 个答案:

答案 0 :(得分:3)

按空格Split,并使用StringSplitOptions

删除空条目
var words = line.Split(new [] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

答案 1 :(得分:2)

将'StringSplitOptions.RemoveEmptyEntries'添加到Split参数列表

               {
                    string line = sr.ReadToEnd();
                    var words = line.Split(new Char[] {'\t'}, StringSplitOptions.RemoveEmptyEntries);

                    return words;
                }

如果您的号码之间还有其他字符,而不仅仅是\ t,那么您可以在拆分列表中指定多个拆分字符。

var words = line.Split(new Char[] {'\t', ' ','_'.......}, StringSplitOptions.RemoveEmptyEntries);

答案 2 :(得分:0)

如果您对空格数没有了解,那么您可以找到另一种方法,例如,用空格分割,然后从字符串中删除空格

var words = line.Split(' ');
for(int i=0;i<words.length;i++)
   words[i].Replace(" ",string.empty);

Or

var words = line.Split.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);