for (int i = 0; i < str.Length - 1; i++)
                {
                   strnews += str[i].Replace("aa"+i, "bb"+i-1);
                }请教各位Replace如何动态替换数据呢

解决方案 »

  1.   

    aa2=111;
    aa3=127;
    aa4=313;
    aa5=211;
    aa6=141;
    aa7=536;
    如何替换成如下
    bb1=111;
    bb2=127;
    bb3=313;
    bb4=211;
    bb5=141;
    bb6=536;for (int i = 0; i < str.Length - 1; i++)
       {
       strnews += str[i].Replace("aa"+i, "bb"+i-1);
       }
      

  2.   

    就你的数据来数是这样的,实际情况也许要复杂些。
    string[] str = {"aa2 = 111;", "aa3 = 127;","aa4 = 313;","aa5 = 211;", "aa6 = 141;","aa7 = 536;"};
                string strnews = "";
                int int1 = int.Parse(str[0].Substring(2, 1));
                for (int i = 0; i < str.Length; i++)
                {
                    strnews += str[i].Replace("aa" + (i + int1).ToString(), "bb" + (i + int1 - 1).ToString());
                }
                textBox1.Text = strnews;
                return;
      

  3.   

    有试过正则吗?aa2=111; 替换为 bb1=111;可以先替换"aa"为"bb",然后用\d匹配出来第一个合适的数字,就是aa2中的2,然后把2保存,进行减一操作,再替换回去.这样应该就可以了.
    string str = "aa2=111;";
                Match m = Regex.Match(str,@"\d",RegexOptions.IgnoreCase);
                str = Regex.Replace(str,@"aa\d",@"bb"+(int.Parse(m.Value.ToString())-1),RegexOptions.IgnoreCase);