.Net正则表达式替换 - 搜索文件路径时的多行

时间:2013-04-07 05:11:30

标签: c# regex

我希望清理包含文件路径的字符串,以删除父路径以获得更安全的日志记录。

需要:

  • 不区分大小写。
  • 支持无限次捕获替换。
  • 在.net工作
  • 接受提供或替换的路径是自动化的(我正在动态创建搜索模式)因此需要以自动方式复制任何字符串fu

我想要一个多行字符串,如:

The file was: C:\\outputpath\\testfile.htm
And the second file was: C:\\OutputPath\\subfolder\\testfile2.htm'

让它找到并替换为输出:

The file was: testfile.htm
The second file was: subfolder\\testfile2.htm

我一直在尝试这个:

var pathToRemove = "c:\\outputPath";
var sourceRegex = new Regex(".*(" + pathToRemove + ").*", RegexOptions.IgnoreCase);
var sanity = sourceRegex.Replace(input, String.Empty, 1000);

我得到了一个例外

Unrecognized escape sequence \o.

1 个答案:

答案 0 :(得分:3)

string pathToRemove = @"c:\\outputpath\\";
Regex sourceRegex = new Regex(pathToRemove, RegexOptions.IgnoreCase);
string sanity = sourceRegex.Replace(input, string.Empty);