【C#】正規表現を使ってソースコードからコメントを削除する

C#

指定されたPythonソースコードからコメント(#で始まる行、または行末まで)を削除し、結果を別のファイルに出力するサンプルコードです。

入力データと出力例

入力ファイル:Pythonソースコード

# This is a sample Python script
import os

# Get a list of directories
dirs = os.listdir('.')

# Output each directory
for dir in dirs:
    print(dir)  # Print the directory name

出力ファイル:コメント除去されたコード(空行も除去)

import os
dirs = os.listdir('.')
for dir in dirs:
    print(dir)

サンプルコード

このサンプルコードは、指定されたPythonコードファイルを読み込み、コメント(#で始まる行、または行末まで)を削除して結果を別のファイルに出力します。

using System;
using System.IO;
using System.Text.RegularExpressions;

class Program
{
    static void Main(string[] args)
    {
        string codeFilePath = @"C:\path\to\your\code.py"; // コードファイルのパス
        string outputFilePath = @"C:\path\to\your\cleaned_code.py"; // 出力ファイルのパス

        try
        {
            using (StreamReader reader = new StreamReader(codeFilePath))
            using (StreamWriter writer = new StreamWriter(outputFilePath))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                {
                    // 正規表現で行の途中のコメントを除去
                    line = Regex.Replace(line, @"\s*#.*$", "");

                    if (!string.IsNullOrWhiteSpace(line)) // 空行でない場合のみ書き込み
                    {
                        writer.WriteLine(line);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine("エラーが発生しました: " + ex.Message);
        }
    }
}

まとめ

本記事では、C#でPythonなどのソースコードのコメントを除去する処理のサンプルを紹介しました。

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