假如我想将XXX000000的最后四个0000换成0016,我使用replace的方法替换后结果变成了XXX001600,它把前面四个0当成我想替换的部分了,那么如何指定要替换的部分呢?
我想要替换的结果是XXX000016

解决方案 »

  1.   

    我通过insert和remove的方法实现了,不过有木有更好的方法咧?
      

  2.   

    Concat?
    其实跟insert一样。。
      

  3.   


    你这样替换 不就是吧最后2个0换成16
    不是啦,只是举个例子,因为我要的字符串XXX00是固定的,然后0000是要改变的,只是这个例子刚好是0016
      

  4.   


    你这样替换 不就是吧最后2个0换成16
    不是啦,只是举个例子,因为我要的字符串XXX00是固定的,然后0000是要改变的,只是这个例子刚好是0016先截取后四位替换然后再组合
      

  5.   


    你这样替换 不就是吧最后2个0换成16
    不是啦,只是举个例子,因为我要的字符串XXX00是固定的,然后0000是要改变的,只是这个例子刚好是0016
    先截取后四位替换然后再组合

    是用replace吗?用replace的话就会出现我最开始说的情况咧
      

  6.   


    string str="XX000000"
    string str1= str.Substring(0, str.LastIndexOf("0000"));//获取最后一个"0000"前面的字符
    string str2=str1 +"0016"其实也没多大区别
      

  7.   


    int n = 16;
    Regex.Replace("XXX000000", @"(?<=\d{2})\d{4}", n.ToString().PadLeft(4,'0'));
    你要的是这样吗?前两个数字不替换,后面4个才替换