0

私はこれまでのところこのコードを持っています。テキスト文書を調べて、その単語を含む行を表示wordします。その行をスキップして、テキスト ドキュメントの次の行を表示するようにしたいのですが、どうすればよいですか?

たとえば、テキストドキュメントを調べて、「単語」という単語を含む行を見つけ、その次の行を表示します。他の行はありません

string line;

// Read the file and display it line by line.
System.IO.StreamReader file = new System.IO.StreamReader("test.txt");
while ((line = file.ReadLine()) != null)
{
    if (line.Contains("word"))
    {
        Console.WriteLine(line);
    }

}

file.Close();
4

3 に答える 3

1

このようなものは、空の行と「単語」という単語を含む行を除くすべての行を表示します

using (var rdr = new StreamReader(@"C:\Users\Gebruiker\Desktop\text.txt"))
{
     while (!(rdr.EndOfStream))
     {
         var line = rdr.ReadLine();
         if (!(line.Contains("word")) && (line != String.Empty))
         {
             Console.WriteLine(line);
         }
     }
}
Console.ReadKey();
于 2013-11-02T11:28:24.317 に答える
1

行内に が出現した後に行を書き込もうとしている場合はword、これを試してください。

int counter = 0;
bool writeNextLine = false;
string line;

// Read the file and display it line by line.
System.IO.StreamReader file = new System.IO.StreamReader("test.txt");
while ((line = file.ReadLine()) != null)
{
    if (writeNextLine) 
    {
        Console.WriteLine(line); 
    }
    writeNextLine = line.Contains("word");    
    counter++;
}

file.Close();
于 2013-11-02T11:06:04.700 に答える
0

これにより、 を含む行以降のすべての行が表示されます"word"

int counter = 0;
string line;
System.IO.StreamReader file = new System.IO.StreamReader("test.txt");
while ((line = file.ReadLine()) != null)
{
    if (line.Contains("word"))
    {
        if ((line = file.ReadLine()) != null)
            Console.WriteLine(line);
    }
    counter++;
}
file.Close();
于 2013-11-02T11:03:33.377 に答える