我正在读一个文件,每行有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;
}
答案 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);