この記事では、正規表現により、ファイル内も文字列を別の文字列に変換する例を紹介します。
サンプルコード
小文字の”sample”を大文字の”SAMPLE”に置換する例です。正規表現の置換には Regex.Replace() を使用します。
using System;
using System.IO;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
// 入力ファイルのパス
string inputFilePath = @"C:\path\to\your\file.txt";
// 出力ファイルのパス
string outputFilePath = @"C:\path\to\your\output.txt";
// 置換するための正規表現パターン
string pattern = @"sample";
// 置換後のテキスト
string replacement = @"SAMPLE";
try
{
// 入力ファイルを開く
using (StreamReader reader = new StreamReader(inputFilePath))
{
// 出力ファイルを開く
using (StreamWriter writer = new StreamWriter(outputFilePath))
{
string line;
// ファイルの終わりまで行ごとに読み込む
while ((line = reader.ReadLine()) != null)
{
// 各行を正規表現で置換 ★
string replacedLine = Regex.Replace(line, pattern, replacement);
// 置換後の行を出力ファイルに書き込む
writer.WriteLine(replacedLine);
}
}
}
// 処理完了のメッセージを表示
Console.WriteLine("ファイルの処理が完了しました。");
}
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.
出力ファイル(小文字の”sample”が大文字の”SAMPLE”に置換されている)
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.
まとめ
本記事では、正規表現によるファイル加工を簡単な例で紹介しました。