文書の表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ====== C#でファイルパスの円記号を自動エスケープ ====== Windowsのファイルパスを''Regex''に渡す場合、円記号をエスケープシーケンスする必要があるが、ファイルパスが固定文字列じゃなかったりstring変数に入ってたりすると、さぁ大変。 <code c#> string path = @"C:\path\to\file.txt"; Regex matcher = new Regex(path); // エラー!(パスの円記号のエスケープはどうしよう…) </code> C#の事だから良い感じにエスケープしてくれる機能があるに違いないと思って調べてみたら、案の定''Regex.Escape''っていうそのまんまなメソッドがあった。 <code c#> string path = @"C:\path\to\file.txt"; Regex matcher = new Regex( Regex.Escape(path) ); // C:\\path\\to\\file\.txt になる! </code> 円記号だけではなく、正規表現のメタ文字を全部エスケープしてくれる。なので、上記例では拡張子のピリオドもエスケープされる。 便利便利。 blog/2015/2015-04-13.txt 最終更新: 2015-04-13 11:43by Decomo