有这样一段话:
2001.03――2002.07,义马市委书记、七届省委候补委员;
2002.07――2006.10,新乡市政府副市长、七届省委候补委员(2004.09―2006.07在清华大学公共管理学院学习,获公共管理硕士学位);
2006.10――2006.12,新乡市政府副市长、八届省委候补委员;
2006.12――2008.10,新乡市委常委、新乡市政府副市长、八届省委候补委员;2008.10――2011.5,焦作市委常委、焦作市政府常务副市长、党组副书记、八届省委候补委员;
2011.5――2011.6,三门峡市委副书记,市政府党组书记;
2011.6――2011.07,三门峡市委副书记,市政府党组书记、副市长、代理市长;2011.07―― 三门峡市委副书记,市政府党组书记、市长。
怎么把 时间 “2001.03――2002.07,”变成 “2001年03月至2002年07月,” 这段话里所有的时间格式都得换成“yyyy年mm月至yyyy年mm月”这种格式这个用“正则” 怎么写 请高人指点。

解决方案 »

  1.   

    Regex.Replace(str, @"(\d{4})\.(\d{1,2})――(\d{4})\.(\d{1,2})", "$1年$2月至$3年$4月")
      

  2.   


                string str = @"2001.03――2002.07,义马市委书记、七届省委候补委员;
    2002.07――2006.10,新乡市政府副市长、七届省委候补委员(2004.09―2006.07在清华大学公共管理学院学习,获公共管理硕士学位);
    2006.10――2006.12,新乡市政府副市长、八届省委候补委员;
    2006.12――2008.10,新乡市委常委、新乡市政府副市长、八届省委候补委员;2008.10――2011.5,焦作市委常委、焦作市政府常务副市长、党组副书记、八届省委候补委员;
    2011.5――2011.6,三门峡市委副书记,市政府党组书记;
    2011.6――2011.07,三门峡市委副书记,市政府党组书记、副市长、代理市长;
    2011.07―― 三门峡市委副书记,市政府党组书记、市长。";
                string result = Regex.Replace(str, @"(\d{4})\.(\d{1,2})―{1,2}((\d{4})\.(\d{1,2}))*", m => string.Format("{0}年{1}月至{2}{3}", m.Groups[1].Value, m.Groups[2].Value, m.Groups[4].Success ? m.Groups[4].Value + "年" : "", m.Groups[5].Success ? m.Groups[5].Value + "月" : ""));
                Console.WriteLine(result);
      

  3.   

    str=Regex.Replace(str, @"(\d{4})\.(\d{1,2})[-―]{2}(\d{4})\.(\d{1,2})", "$1年$2月至$3年$4月")
      

  4.   

    网站下Console.Writeline替换成Response.Write(...)
      

  5.   

     string str=this.txbResume.Value;
                Regex.Replace(str, @"(\d{4})\.(\d{1,2})[-―]{2}(\d{4})\.(\d{1,2})", "$1年$2月至$3年$4月");
                this.txbResume.Value = str;貌似不行
      

  6.   

     
    string str=this.txbResume.Value;
              str=  Regex.Replace(str, @"(\d{4})\.(\d{1,2})[-―]{2}(\d{4})\.(\d{1,2})", "$1年$2月至$3年$4月");
                this.txbResume.Value = str;
      

  7.   

    Replace 完没付值这个问题已经见过N次了