我有以下格式的文本文件
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]
中获取其余单词?
最佳答案
您需要使用所有空格进行拆分,而不仅仅是一个普通空格。
使用 @"\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());
}
}
关于c# - 从文本文件中删除第一行并将其余单词放入与空格分隔的数组中,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38011605/