日期:2014-05-16  浏览次数:21089 次

怎么判断数字和非数字字符
输入一个字符串,串内有数字和非数字字符,例如,"abc2345 345fdf678 jdhfg945"。将其中连续的数字作为一个整数,依次存放到另一个整形数组b中。如将2345存放到b[0]中,345存放到b[1]中,678存放到b[2]中,...,统计出字符串中的整数个数,并输出这些整数。
------解决方案--------------------
这个东西用正则做就很合适了!

private static IEnumerable<int> ExtractNumbersFromString(string s)
{
    return Regex.Matches(s, @"\d+").Cast<Match>().Select(m => Convert.ToInt32(m.Value));
}
// 调用
foreach (var number in ExtractNumbersFromString("abc2345 345fdf678 jdhfg945"))
{
    Console.WriteLine(number);
}