请问一下关于字符串处理的有关问题

请教一下关于字符串处理的问题
项目中定义了一个编号规则,根据规则自动生成编号.原方法是这样做的


//根据规则生成新编号
public string GenerateNewNO{string type}
{
   string newNO = string.Empty;
            switch (type)
            {
                case "A":
                    newNO = ConfigDAL.GetConfigValue("A编号规则");
                    break;
                case "B":
                    newSPNO = ConfigDAL.GetConfigValue("B编号规则");
                    break;
                case "C":
                    newSPNO = ConfigDAL.GetConfigValue("C编号规则", org);
                    break;
            }
          // 以下方法是获取最后编号
            string lastNO = GetLastNO(type);
            if (lastNO == "")
                newNO = GenerateRuleCode(newNO, 1, 4);
            else
            {
             // 此处判断获取到的最后一个编号的前四位是否是今年,如果不是,则流水号从1开始 问题出在此处
                if (StringTools.Left(lastNO, 4) != DateTime.Now.Year.ToString())
                    newSPNO = GenerateRuleCode(newNO, 1, 4);
                else
                {
                    int num = Convert.ToInt32(StringTools.Right(lastNO, 4));
                    num = num + 1;
                    newNO = GenerateRuleCode(newNO, num, 4);
                }
            }
            return newNO;
}

// 此方法根据编号规则替换掉相应的字符 rulestring表示规则字符串
public  string GenerateRuleCode(string rulestring, int startNO, int seqLen)
        {
            //替换年号
            rulestring = rulestring.Replace("{YearNO}", DateTime.Now.Year.ToString());

            //替换月份
            rulestring = rulestring.Replace("{MonthNO}", DateTime.Now.Month.ToString());

            //替换流水号
            rulestring = rulestring.Replace("{SequenceNO}", GenerateNumCode(seqLen, startNO));
            return rulestring;
        }

以上方法定义一个编号规则的示例如下
A规则 : {YearNO}WH{SequenceNO} 则生成2015WH0001 这样的编号
B规则: {YearNO}HP{SequenceNO} 则生成2015HP0001 这样的编号
C规则: JH{YearNO}{SequenceNO} 则应生成JH20150001这样的编号

问题出在C规则上,按上述方法写,默认是将{YearNO}排在了最前面,所以原方法只判断了获取来的最后一个编号的前四位是否是当年.
如获取到C规则 的最后一个编号为 JH20150003,则原方法中判断年号的位置就是错的,如何来判断获取来的编号中对应年号的位置呢?
不知道我说清楚了没有?
------解决思路----------------------
请问一下关于字符串处理的有关问题