string str = @"func A(@@@)                func B(a,b,@@@ )                func C(a,b, @@@)"
                
                func D();
规则:1. 如果()里内含"@@@"的话就把最后的")"替换成") XXX";(注释:就是把后面多加一些固定的字符串,用XXX代替)
2. ()里可能含有空格的情况,如果第二行和第三行。
3. 第四行空的()不替换。

解决方案 »

  1.   

    string str = @"func A(@@@)                func B(a,b,@@@ )                func C(a,b, @@@)
                    
                    func D()";
    result = string.Join("\r\n", str.Split(new string[] { "\r\n"} ).Select(x => Regex.Replace(x, @"@@@\.*\)", ") XXX")));
      

  2.   

    var d = Regex.Replace(str, @"\.\.\.\s*\)", "...) XXX ");已解决
      

  3.   


    string str = @"func A(@@@)                func B(a,b,@@@ )                func C(a,b, @@@)
                    
                    func D()";
    result = string.Join("\r\n", str.Split(new string[] { "\r\n"} ).Select(x => Regex.Replace(x, @"@@@\.*\)", ") XXX")));