现在有一串字符串,是以日期开头的,大概是这么个格式:01-2011-01-15typedy2011id4057我现在想这样:把其中开头的日期提取出来,并且换个格式,换成这样:01/2011/01/15typedy2011id4057然后不要后面的部分,只要前面的几位,结果也就是:01/2011/01/15这样要用什么函数呢?请各位不吝赐教

解决方案 »

  1.   

    substring截取前13字符
    然后replace
      

  2.   

    string s = "01-2011-01-15typedy2011id4057";
    string t = s.Substring(0, 13).Replace('-', '/');
      

  3.   

    01-2011-01-15typedy2011id4057.replace("-","/");
    ????
      

  4.   

    string str="01-2011-01-15typedy2011id4057";  str.substring(0,13).replace('-','/')
      

  5.   

    substring() 截取自负
    replace() 替换函数。
      

  6.   


                string temp = "01-2011-01-15ty-pedy201-1-id4-057";
                Console.WriteLine(Regex.Replace(temp,@"(?<=^[\-\d]*\d)-(?=\d)","/"));
    /*------输出
    01/2011/01/15ty-pedy201-1-id4-057
    */
      

  7.   

    想用substring截取出前面的字符串,然后用replace把“-”替换成“/”
      

  8.   

    string s = "01-2011-01-15typedy2011id4057";
    s = s.Replace("-", "/").Substring(0, 13);
    //
    s = s.Replace("-", "/").Substring(0, s.IndexOf("t"));
      

  9.   


    DECLARE @sql VARCHAR(30)
    SET @sql='01-2011-01-15typedy2011id4057'
    SELECT REPLACE(LEFT(@sql,13),'-','/')  AS newcol
    /*
    newcol
    --------------
    01/2011/01/15
    */C#中思路是一样的,上面已经有答案了。
      

  10.   

    首先感谢各位的热心回答,问题已经解决,但是有一个疑问:
    用正则和用Replace哪个效率高一些?这个小程序需要提升下性能