【C#】テキストファイルから指定した文字列が含まれる行を表示(grep的なものを作る)

C#

テキストファイルから指定した文字列を検索する処理は、よく使うと思います。今回は、ファイルの中で指定の文字が含まれる行の一覧を表示するサンプルを紹介します。(次回は正規表現版

サンプルコード

ファイルを開き、1行ずつ string.Contains() メソッドでチェックします。検索文字列が見つかったら、その行をコンソールに表示します。

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string filePath = @"C:\path\to\your\file.txt"; // ファイルパスを指定
        string searchString = "sample"; // 検索する文字列

        try
        {
            using (StreamReader sr = new StreamReader(filePath))
            {
                string line;
                while ((line = sr.ReadLine()) != null)
                {
                    // 行に検索する文字列が含まれる場合
                    if (line.Contains(searchString))
                    {
                        Console.WriteLine(line);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("エラーが発生しました: " + ex.Message);
        }
    }
}

入力ファイルの例

Hello, this is a sample text file.
It contains various lines of text.
Some lines might contain numbers like 12345.
Others might have special characters like @ or #.
This line includes the word 'sample'.
Another line with the word 'text'.
Regular expressions are powerful.
Simple string search is also useful.

実行結果

Hello, this is a sample text file.
This line includes the word 'sample'.

まとめ

本記事では、ファイルの中で指定の文字が含まれる行の一覧を表示するサンプルを紹介しました。

タイトルとURLをコピーしました