Regex.Replace在特殊字符上失败
问题描述:
我正在对大文件执行Replace操作。我有一个问题,与“(”字符 这是我的方法:Regex.Replace在特殊字符上失败
public static string Replace(string input, string stringToMask, string mask)
{
return Regex.Replace(input, @"(?<![0-9])" + stringToMask + "(?![0-9])", mask);
}
这个字符串“纽约梅隆银行资产服务(IN”导致此错误:
parsing "(?<![0-9])BNY MELLON INVESTMENT SERVICING (IN(?![0-9])" - Not enough)'s.
任何方式避免这种情况?
答
幸运的是BCL有你的背部。
var pattern = @"(?<![0-9])" + Regex.Escape(stringToMask) + "(?![0-9])";
return Regex.Replace(input, pattern, mask);
谢谢,这是正确的答案。 – Yoav 2011-04-21 07:29:11