我有很多大文本文件,我需要使用c#在某些字符串之后检索所有行, fyi,字符串将在最后几行内出现,但不确定最后有多少行。
示例文本将是
someline
someline
someline
someline
etc
etc
"uniqueString"
line 1
line 2
line 3
我需要获得行
line 1
line 2
line 3
答案 0 :(得分:0)
试试此代码
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();
}
答案 1 :(得分:0)
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;
}
}