在字符串中用正则表达式提取数值

.Net技术 码拜 6年前 (2015-03-31) 388次浏览 0个评论
滨江区长河路1401号白金海岸农贸市场干货区7053号

像这样的字符串,我只想提取1401,该怎么办。有很多类似的。我只想要第一个数值。
还有这个。

苍南县龙港镇柳江路2-16号一单元401室

这个我想提取第一个2,怎么办呢

安吉县昌硕街道天目北路316、318号

这个提取316

滨江区长河街道滨康路399号D区58-59号 

这个399
希望帮帮我。我用的是C#

在字符串中用正则表达式提取数值
5分
建议楼主一个笨方法,先转换成数组,然后判断每个字符的ascii码,如果它是数字记录下来并做个标记,继续判断下一个是否为数字.
如果不为数字则结束循环.
在字符串中用正则表达式提取数值
35分
正则  [\d]+
在字符串中用正则表达式提取数值
5分
最好的 就是正则 
或者 string xx=”0123456789″
循环你的字符传中的每个字符 
看是否在 xx中,在则提取出来 
在字符串中用正则表达式提取数值
40分
\d+,你只match第一个就可以了
在字符串中用正则表达式提取数值
Console.WriteLine(Regex.Match("滨江区长河路1401号白金海岸农贸市场干货区7053号", @"\d+").Value);
在字符串中用正则表达式提取数值
解决了,刚刚同事帮我弄好了,楼上的说的不错,跟我同事说的一样!谢谢你们

        private int GetNumber(string str1)
        {
            int num = 0;
            string str = str1;
            if (str != null && str != string.Empty)
            {
                var match = Regex.Match(str, @"\d+");
                if (match.Success)
                {

                    str = match.Groups[0].Value;
                    num = int.Parse(str);
                }

            }
            return num;
        }

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明在字符串中用正则表达式提取数值
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!