有2个字符串
string a= "http://www.baidu.com/{d}_{d}-{w}.html?{page}";
string b="http://www.baidu.com/12345_234-sdf.html";
字符串a,b并不是固定格式的
也有可能是
string a= "http://www.baidu.com/{d}-{page}.html";
string b="http://www.baidu.com/12345.html";我想写一个函数,实现功能就是吧a,b传进去
然后得到“http://www.baidu.com/12345_234-sdf.html?{page}"这样的内容
或者是“http://www.baidu.com/12345-{page}.html”

解决方案 »

  1.   

    string GetResult(string a,string b)
    {
     string result=string.Empty;
     if(Regex.IsMatch(a,@"{d}_{d}-{w}\.html\?{page}"))
     {
       result=Regex.Replace(a,"{d}_{d}-{w}",Regex.Match(b,@"\d+_\d+-[a-zA-z0-9]+").Value);
     }
     if(Regex.IsMatch(a,"{d}-{page}"))
     {
       result=Regex.Replace(a,"{d}-{page}",Regex.Match(b,@"\d+{page}").Value);
     }
     return result;
    }
      

  2.   

    string GetResult(string a,string b)
    {
     string result=string.Empty;
     if(Regex.IsMatch(a,@"{d}_{d}-{w}\.html\?{page}"))
     {
       result=Regex.Replace(a,"{d}_{d}-{w}",Regex.Match(b,@"\d+_\d+-[a-zA-z0-9]+").Value);
     }
     if(Regex.IsMatch(a,"{d}-{page}"))
     {
       result=Regex.Replace(a,"{d}-{page}",Regex.Match(b,@"\d+-{page}").Value);//写少了一个-号
     }
     return result;
    }
      

  3.   

    不好意思,还是把第二个给看错了,修正一下。
    string GetResult(string a,string b)
    {
     string result=string.Empty;
     if(Regex.IsMatch(a,@"{d}_{d}-{w}\.html\?{page}"))
     {
       result=Regex.Replace(a,"{d}_{d}-{w}",Regex.Match(b,@"\d+_\d+-[a-zA-z0-9]+").Value);
     }
     if(Regex.IsMatch(a,"{d}-{page}"))
     {
       string temp=Regex.Match(b,@"\d+\.html").Value;
       temp=Regex.Replace(temp,@"(\d+)(\.html)","$1-{page}$2")
       result=Regex.Replace(a,@"{d}-{page}\.html",temp);
     }
     return result;
    }