日期:2014-05-18 浏览次数:20736 次
using System.Text.RegularExpressions; string test = "fdas79fs-afs7df76f6dsa799fd"; int count = Regex.Matches(test, @"\d").Count; Console.WriteLine("字符串中数字的个数为:{0}", count); Console.WriteLine("连续整数分别为:"); MatchCollection mc = Regex.Matches(test, @"\d+"); foreach (Match m in mc) { Console.WriteLine(m.Value); } Console.Read();
------解决方案--------------------
菜鸟照2楼的谢谢看看:
using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; using System.Collections; namespace IsInt { class Program { static void Main(string[] args) { string test = "fdas79fs-afs7df76f6dsa799fd"; ArrayList integer; int No; if (IsInteger(test, out No, out integer)) { Console.WriteLine("The Integer Number is:"+No.ToString()); Console.Write("And the Interger are:"); StringBuilder sb = new StringBuilder(); foreach (object b in integer) { sb.Append(b.ToString() + ","); } sb.Remove(sb.Length - 1, 1); Console.WriteLine(sb.ToString()); } else { Console.WriteLine("No Integer!"); } } #region 判断是否含有数字 /// <summary> /// 判断是否含有数字 /// </summary> /// <param name="str">要判断的字符串</param> /// <param name="number">输出数字个数</param> /// <param name="integer">输出数字集合</param> /// <returns>是否有数字</returns> public static bool IsInteger(string str, out int number,out ArrayList integer) { bool IsInt; if (Regex.IsMatch(str, @"\d")) { IsInt = true; number = Regex.Matches(str, @"\d+").Count; integer = new ArrayList(); MatchCollection mc = Regex.Matches(str, @"\d+"); foreach (Match b in mc) { integer.Add(b); } } else { number = 0; IsInt = false; integer = null; } return IsInt; } #endregion } } /* The Integer Number is:5 And the Interger are:79,7,76,6,799 请按任意键继续. . . */