如何从以特定单词/字符串开头的文本文件中选择特定行?

时间:2018-04-30 19:28:25

标签: c# linq

我试图不将我的令牌硬编码到我的程序中,但我无法弄清楚如何使用文本文件中的某个单词查找特定行。

我目前的代码是:

System.IO.File.ReadAllLines(@"C:\INPUTFILE.txt")

如何修改此内容以查找以" CERTAINWORD"开头的行,或者如果它没有,则给我一个空?

2 个答案:

答案 0 :(得分:1)

你写

var line = System.IO.File.ReadLines(@"C:\INPUTFILE.txt")
                         .FirstOrDefault(x => x.StartsWith("CERTAINWORD"));
if(line == null)
    Console.WriteLine("Not found");

您使用ReadLines方法而不是ReadAllLines。这允许您在阅读时枚举每一行。然后将每一行传递给FirstOrDefault以检查它是否以请求的值开头。如果一行与请求匹配,则停止enumaration并返回该行,如果没有行匹配则结果为null。

答案 1 :(得分:0)

你可以这样做。

foreach (string line in File.ReadLines(@"C:\INPUTFILE.txt"))
{
    if (line.Contains("CERTAINWORD"))
    {
        Console.WriteLine(line);
    }
}