ファイルの行頭から続く不要な文字(半角スペース、タブ、改行など)を削除する方法
Webサイトで静的なHTMLページを用意する際、開発時はインデントがあった方が分かりやすくていいですが、本番運用ではストレージやネットワークの負荷を考えて、行頭の半角スペースや改行を削除して配置した方が効率的です。
コード
以下、簡単な例になります。
var filePath = @"c:\temp\sample.html";
var str = File.ReadAllText(filePath);
str = Regex.Replace(str, @"^[ \t\r\n]+", "");
File.WriteAllText(filePath, str);
保存済みのファイルを読み込んで、置き換えたい文字(行頭から続く半角スペース、タブ、改行)を正規表現を使って変換し、最終的にファイルを上書き保存しています。
オリジナルのファイルを上書きしたくない場合は、ファイル名などを変更してください。
上記の対応をすることで、私の場合、ファイルサイズが半分くらい減りました。
注意点
注意点として、HTMLの<pre>タグ内の文字も変換されると、表示内容が変わってしまうので、使っている場合は、正規表現のパターンを見直してください。
str = Regex.Replace(str, @"^[ \t\r\n]+<", "");
完全な対応はできませんでしたが、上記のような変換パターンであれば、ある程度は網羅できます。