您的位置:首页 > 编程语言 > C#

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

2012-08-31 17:20 501 查看
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: