Regex.Replace(string input,   
    string pattern,
    string replacement,
    RegexOptions options
)
用两个文本框分别输入pattern和replacement
replacement 中用户在textBox 中输入"$1$2 \r\n" 这些都变成字符串@"$1$2 \r\n"了而不是转定义符怎么办?

解决方案 »

  1.   

    replace(@"\","\\") 不行啊,实际上没有变化
      

  2.   

    string result = Regex.Replace(@"$1$2 \r\n", "(?i)\\\\(r|n)",
        delegate(Match m) { return m.Groups[1].Value.ToLower() == "r" ? "\r" : "\n"; });
      

  3.   

    楼主为什么会有这种需求呢,这样做是有问题的,不能把这种自由度留给用户吧replacement 如果里即有需转义的,又有不需转义的如何处理呢楼主当前的需求可以用Regex.Unescape处理
    string result = Regex.Replace(yourStr, textBox1.Text, Regex.Unescape(textBox2.Text), RegexOptions.None);
      

  4.   

    Regex.Unescape 可以了,谢谢!! 
    有些文本文档用户需要,自由替换.