Loading...

java .net

C#实现类似Excel自动填充单元格,后面的数字累加

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Next("abc123def345ghi"));
            Console.Read();

        }

        private static string Next(string s)
        {
            if (!isNumber(s.Substring(s.Length-1,1)))
                s = s + "0";
            MatchCollection coll = Regex.Matches(s, @"\d+");
            Match m = coll[coll.Count - 1];

            return s.Substring(0, m.Index) + NextNum(m.Value);
        }
        private static string NextNum(string s)
        {
            char[] cs = s.ToCharArray();
            for (int i = s.Length - 1; i >= 0; i--)
            {
                if (!NextChar(ref   cs[i])) break;
            }
          
            string re = new string(cs);
            if (Int32.Parse(re) == 0)
                re = "1" + re;
            return re;
        }
        private static bool NextChar(ref   char c)
        {
            string p = "01234567890123456789";
            int n = p.IndexOf(c);
            c = p[(n + 1) % 10 + 10 * (n / 10)];
            return (n == 9 || n == 19);
        }
        public static bool isNumber(string str)
        {
            Regex r = new Regex(@"^\d+(\.)?\d*$");
            if (r.IsMatch(str))
            {
                return true;
            }
            else
            {
                return false;
            }
        }

posted on 2008-08-26 22:06 阅读(811) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

公告

希望有一天

我能用鼠标双击我的钱包

然后选中一张100元

按住“ctrl+c”

接着不停的“ctrl+v”

嘻嘻~~~笑醒~~~



导航

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(6)

随笔分类(102)

随笔档案(398)

文章分类

文章档案(10)

有趣网络

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜