正则表达式在特殊字符上替换失败。

4

我正在对一个大文件进行替换操作。我遇到了'('字符的问题。 这是我的方法:

public static string Replace(string input, string stringToMask, string mask)
{
    return Regex.Replace(input, @"(?<![0-9])" + stringToMask + "(?![0-9])", mask);
}

这个字符串 "BNY MELLON INVESTMENT SERVICING (IN" 导致了这个错误:

parsing "(?<![0-9])BNY MELLON INVESTMENT SERVICING (IN(?![0-9])" - Not enough )'s.

有没有什么方法可以避免这种情况发生?
1个回答

7

幸运的是,BCL支持你。

var pattern = @"(?<![0-9])" + Regex.Escape(stringToMask) + "(?![0-9])";
return Regex.Replace(input, pattern, mask);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接