c#转义字符串中的所有正则特殊字符

/// <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;
        }

网上搜不到,只好自己写了,花了一上午的时间。

posted on 2013-07-26 13:14  云帮主  阅读(878)  评论(0)    收藏  举报