从一个巨大的文本文件中获取字符串后的所有行

本文关键字:获取 字符串 文件 文本 巨大 一个 | 更新日期: 2023-09-27 17:58:35

我有很多巨大的文本文件,我需要使用c#检索某个字符串后的所有行,fyi,字符串将在最后几行中,但不确定最后几行。

示例文本将是

someline
someline
someline
someline
etc
etc
"uniqueString"
line 1
line 2
line 3

我需要得到线路

line 1
line 2
line 3

从一个巨大的文本文件中获取字符串后的所有行

bool found=false;
List<String> lines = new List<String>();
foreach(var line in File.ReadLines(@"C:'MyFile.txt"))
{
 if(found)
 {
   lines.Add(line);
 }
 if(!found && line.Contains("UNIQUEstring"))
 {
   found=true;
 }
}

试试这个代码

    public string[] GetLines()
    {
        List<string> lines = new List<string>();
        bool startRead = false;
        string uniqueString = "uniqueString";
        using (StreamReader st = new StreamReader("File.txt"))
        {
            while (!st.EndOfStream)
            {
                if (!startRead && st.ReadLine().Equals(uniqueString))
                    startRead = true;
                if (!startRead)
                    continue;
                lines.Add(st.ReadLine());
            }
        }
        return lines.ToArray();
    }