string 正文 = @"235{连(y)}123";Match match = Regex.Match(正文, @"{.*?}");//懒惰匹配string 字符串 = match.Value; //{连(y)},正确
正文 = Regex.Replace(正文, 字符串, "");//没有替换 与小括号有关
字符串中如果有小括号如何替换呢??

解决方案 »

  1.   

    字符串有个Replace(")", "X"),Replace("(", "O"),把小括号换个别的撒
      

  2.   

    string result = Regex.Replace(text, patt, new MatchEvaluator(XYZ));
    这种方法如果patt匹配了小括号就可以。
      

  3.   

    恩,这样是可以解决问题。不过多了一个步骤感觉不爽。因为处理完了还得替换回去!
    string 正文 = @"235{连(y)}123";
    中除了小括号还有别的需要替换的么?
      

  4.   


                string 正文 = @"235{连(y)}123";
                正文 = 正文.Replace("(", @"\(");
                正文 = 正文.Replace(")", @"\)");            Match match = Regex.Match(正文, @"{.*?}");//懒惰匹配            string 字符串 = match.Value; //{连(y)},正确
                正文 = Regex.Replace(正文, 字符串, "");//没有替换 可能与小括号有关
                //结果235{连\(y\)}123,仍然不正确
                正文 = 正文.Replace(@"\(", "(");
                正文 = 正文.Replace(@"\)", ")");
                //结果235{连(y)}123,仍然不正确
      

  5.   


                string 正文 = @"235{连(y)}123";
                正文 = 正文.Replace("(", @"·");
                正文 = 正文.Replace(")", @"~");            Match match = Regex.Match(正文, @"{.*?}");//懒惰匹配            string 字符串 = match.Value; //{连(y)},正确
                处理(字符串);//这里需要小括号!还得替换回去!!!!!!!            很不方便!!**
                正文 = Regex.Replace(正文, 字符串, "");//没有替换 可能与小括号有关
                //结果235123,正确,
    寻求一简便方案。
      

  6.   

    替换match里(不要替换正文里的
      

  7.   


    private void Form1_Load(object sender, EventArgs e)
    {
        //说明,需要将正文中{}包含的内容查找出来并处理。
        //处理结果替换原来{}的内容。
        //问题:如果{}中包含(),则语句
        //正文 = Regex.Replace(正文, 字符串, 结果);
        //没有替换
        string 正文 = @"235{连(y)}123";    Match match = Regex.Match(正文, @"{.*?}");    string 字符串 = match.Value; //{连(y)},正确
        string 结果 = 处理(字符串);
        正文 = Regex.Replace(正文, 字符串, 结果);//没有替换 可能与小括号有关}void 处理(string s)
    {
        //...//这里需要小括号!
        return "";
    }
      

  8.   

    void 处理(string s)
    {
        //...//这里需要小括号!
        return "";
    }替换成处理() 返回的结果,参数s需要小括号
      

  9.   

    string text = 脚本正文;
    string patt = @"{.*?}";//懒惰匹配
    string result = Regex.Replace(text, patt, new MatchEvaluator(XYZ));
    其实这样是能处理的,但是速度很慢。
      

  10.   

    同问。
    235{连(y)}123这个:“235(y)123”?
    这个:“235123”?
    这个:“235y123”?
    这个:“235{}123”?多举点输入输出的例子,别给扯其他的。
      

  11.   

    我算看明白了,你找到的是字符串,为嘛又当正则表达式替换?正文 = Regex.Replace(正文, 字符串, "");//没有替换 与小括号有关为什么不?正文 = 正文.Replace(字符串, "");//没有替换 与小括号有关