日期:2014-05-17  浏览次数:20884 次

C#从一段文本中提取所有的数字。
求一个简单点的方法..本人初学者,没找到提取的字符串啊
"大家好,我是Hebe,我22岁了,身高180,我们团队有3个女女!"
只要数字,怎么输出都行

------解决方案--------------------
  string str = "大家好,我是Hebe,我22岁了,身高180,我们团队有3个女女!";
            var list = Regex.Matches(str, @"\d+(\.\d+)?").OfType<Match>().Select(t => t.Value).ToList();
            list.ForEach(t => Console.WriteLine(t));

------解决方案--------------------
引用:
不用正则,就用c#窗体应用怎么表达啊

可以用笨方法,循环找
string str = "大家好,我是Hebe,我22岁了,身高180,我们团队有3个女女!";
            List<int> lst = new List<int>();  //存放提取的数据
            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] >= '0' && str[i] <= '9')
                {
                    int x = i, y;
                    for (int j = i + 1; j < str.Length; j++)
                    {
                        if (str[j] < '0' 
------解决方案--------------------
 str[j] > '9')
                        {
                            y = j;

                            lst.Add(int.Parse(str.Substring(x, y - x)));
                            i = y;
                            break;
                        }
                    }
                }

            }