我有以下格式的文本文件
432
23 34 45 56 78 90
67 87 90 76 43 09
.................
我想删除第一行并将其余单词插入与空格分开的数组中。
我编写了以下代码,通过删除空格来获取单词
StreamReader streamReader = new StreamReader("C:\\Users\\sample.txt"); //get the file
string stringWithMultipleSpaces = streamReader.ReadToEnd(); //load file to string
streamReader.Close();
Regex newrow = new Regex(" +"); //specify delimiter (spaces)
string[] splitwords = r.Split(stringWithMultipleSpaces); //(convert string to array of words)
一旦我在string[] splitwords
行上放置调试点,我就可以看到后面的输出
如何删除第一行并从数组索引[0]
获取其余单词?
答案 0 :(得分:1)
您需要拆分所有空格,而不仅仅是普通空格。
使用@"\s+"
模式匹配1+空白符号:
string[] splitwords = Regex.Split(stringWithMultipleSpaces, @"\s+");
另一种方法是逐行读取文件,并且 - 如果总是只有这些数字而不存在Unicode空格 - 请使用普通String.Split()
。
像
这样的东西var results = new List<string>();
using (var sr = new StreamReader("C:\\Users\\sample.txt", true))
{
var s = string.Empty;
while ((s=sr.ReadLine()) != null)
{
results.AddRange(s.Split());
}
}