c#转义字符串中的所有正则特殊字符方法示例

 更新时间:2020年6月25日 11:39  点击:2236

复制代码 代码如下:

/// <summary>
        /// 转义字符串中所有正则特殊字符
        /// </summary>
        /// <param name="input">传入字符串</param>
        /// <returns></returns>
        string FilterString(string input)
        {
            input = input.Replace("\\", "\\\\");//先替换“\”,不然后面会因为替换出现其他的“\”

            Regex r = new Regex("[\\*\\.\\?\\+\\$\\^\\[\\]\\(\\)\\{\\}\\|\\/]");
            MatchCollection ms = r.Matches(input);
            List<string> list = new List<string>();
            foreach (Match item in ms)
            {
                if (list.Contains(item.Value))
                    continue;
                input = input.Replace(item.Value, "\\" + item.Value);
                list.Add(item.Value);
            }
            return input;
        }

[!--infotagslink--]

相关文章