注册 登录
编程论坛 ASP.NET技术论坛

如何获取得标题内的数字

liaohongchu 发布于 2010-12-03 17:26, 640 次点击
发表了30张新照片  
我想获取 30 这个数字 怎么获取  
数字是不固定的 有如:30或2或 3。。。。。。
4 回复
#2
yms1232010-12-03 17:58
发表了30张新照片  
标题都是这样的?
有没有标题是
发表了30张新照片外加30张旧照片  
#3
wangnannan2010-12-03 18:01
楼上理解错了 string s="发表了30张新照片 "; 取30 right?
foreach遍历字符串 如果被遍历的字符能转换成数字 就储存在一个临时数组中 相连则为一个数字 否则就是两个或多个数字
很简单就不写代码了 相信楼主能搞定

[ 本帖最后由 wangnannan 于 2010-12-3 18:03 编辑 ]
#4
懂也不懂2010-12-05 07:31
            string str = "发表了30张新照片";           
            int number = 0;
            string num = null;
            foreach (char item in str)
            {
                if (item >= 48 && item <= 58)
                {
                    num += item;
                }
            }
            number = int.Parse(num);
       这个方式可以满足楼主的意思,但是却还有问题,例如:str="2月发表了新照片30张";那结果会是什么呢?!似乎就不是正确的结果了,不过只是给楼主提醒一下;
   
#5
liaohongchu2010-12-09 16:30
谢谢各位的回答 我用正则来求数字了
// 获取标题上的数字 如果数字>4 就显示更多链接
                if (activities.Title.Length > 3 && activities.ActivityItemId == 7)
                {

                    string str = "(\\d+)";
                    string source = "发表了30张新照片";
                    Match m1;
                    Regex re = new Regex(str);
                    m1 = re.Match(source);
                    if (m1.Success)
                        picnum = Utils.ToInt(m1.Value);
                    else
                        picnum=0;
                }
1