我有一个csv文件,这个文件的开头和结尾都是我不需要的垃圾。
我正在使用ling来阅读文件
string startingline="start";
string endline="end";
var lines = File.ReadLines(myFile, Encoding.Default)
.Skip(1)
.Select(line => line.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries)).ToList();
鉴于我有一个开始阅读和结束阅读 我怎样才能得到这两行之间的文字?
任何建议?
更新以及文档样本:
start
Name,Surname,City,Country
jo,Bloggs,London,Uk,
Name,Surname,City,Country
Mark,Smith,Paris,France,
end
我无法控制这份文件
答案 0 :(得分:1)
您必须合并Skip
/ SkipWhile
和Take
/ TakeWhile
。
var lines = File.ReadLines("Path", Encoding.Default)
.SkipWhile(l => l.Trim() != "start").Skip(1)
.TakeWhile(l => l.Trim() != "end")
.Select(line => line.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries))
.ToList();
我在Skip(1)
后面使用了SkipWhile
来省略行"start"
,因为你想要之间的行。