我需要从string[] lines
删除第一行。我将文件文本加载到str变量中。在数组字符串中我从str拆分文本,其中是一行文本新数组项。但第一行是我在其他代码中不需要的标题,我想在加载文件时删除或跳过该行。这是我的代码:
string url = @"E:\Sims.log";
Stream stream = File.Open(url, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using (StreamReader sr = new StreamReader(stream))
{
string str = sr.ReadToEnd();
string[] lines = Regex.Split(str, "\r\n");
//I need to delete first row from lines
}
答案 0 :(得分:3)
你可以在sr.ReadToEnd()之前放置sr.ReadLine(),这样就可以读取第一行,因此ReadToEnd会忽略它。
sr.ReadLine();
string str = sr.ReadToEnd();
答案 1 :(得分:2)
跳过第一行
using (StreamReader sr = new StreamReader(stream))
{
string firstLine = sr.ReadLine();
// Check to be on the safe side....
if(firstLine != null)
{
string str = sr.ReadToEnd();
// Not sure, but it seems overkill to use a Regex just to split
// and it is always better to use predefined constant for newline.
string[] lines = str.Split(new string[] {Environment.NewLine},
StringSplitOptions.RemoveEmptyEntries);
}
}
答案 2 :(得分:-1)
使用Skip,如果您可以使用IEnumerable
而不是字符串数组。
string[] lines = Regex.Split(str, "\r\n").Skip(1);