有若干种模式组合而成的字符串,想利用正则表达式分隔。如何做?
比如: 有“年/月日”组合而成的字符串“年/月/日\\年/月/日\\...\\..."
想分割成由 “年/月/日”而成的数组。应该怎么做呢?
或者
不能使用split,因为分隔符不固定。必须用正则表达式。

解决方案 »

  1.   


    比如: 有“年/月日”组合而成的字符串“年/月/日\\年/月/日\\...\\..."
    想分割成由 “年/月/日”而成的数组。应该怎么做呢?不能使用split,因为分隔符不固定。必须用正则表达式。
      

  2.   

    string[] result=Regex.Matches(str,@"\d+年/\d+月/\d+日").Cast<Match>().Select(m=>m.Value).ToArray();
      

  3.   

    var list = Regex.Matches("2012/06/03\\2013/3/28\\2014/05/06",@"\d{4}/\d{1,2}/\d{1,2}").OfType<Match>().Select(a=>a.Value).ToList();
                /*
                 [0] "2012/06/03" string
                [1] "2013/3/28" string
                [2] "2014/05/06" string             */
      

  4.   


    使用split的方法:
    先Replace("日","日,")
    再Split(',')分隔符自定义,不一定非要用 逗号,看需求吧
      

  5.   


    使用split的方法:
    先Replace("日","日,")
    再Split(',')分隔符自定义,不一定非要用 逗号,看需求吧
    哦,要注意去掉最后一个逗号