首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

查寻字符串里第一个大于等于某数的值

2013-04-07 
查找字符串里第一个大于等于某数的值我有个字符串如下:100108209301309330我想把第一个大于或者等于

查找字符串里第一个大于等于某数的值
我有个字符串如下:
100;108;209;301;309;330;

我想把第一个大于或者等于300的数查找出来,然后显示出来,这个怎么实现?

多谢!
[解决办法]

引用:
引用:一种,按分好split成一个数组,自己遍历比较,或者用linq取出
第二,用正则取出
用正则怎么取呢?

            string input = "100;108;209;301;309;330;";
            MatchCollection mc = Regex.Matches(input, @"3\d{2,}");
            for (int i = 0; i < mc.Count; i++)
            {
                string b = mc[i].Value;
            }
[解决办法]
string result = Regex.Matches("100;108;209;301;309;330;", @"([1-9]\d{3,}
[解决办法]
[3-9]\d{2,})(?=;
[解决办法]
$)").OfType<Match>().First().Value;
[解决办法]
引用:
引用:string result = Regex.Matches("100;108;209;301;309;330;", @"([1-9]\d{3,}
[解决办法]
[3-9]\d{2,})(?=;
[解决办法]
$)").OfType<Match>().First().Value;
晕,看完大家的回复,才发现我说错了,是找出大于等于300的,最接近的那个数,不是第一……

先排序就是了

  string input = "100;108;209;301;309;330;";
            string result= Regex.Matches(input, @"[1-9]\d{3,}
[解决办法]
[3-9]\d{2,}").OfType<Match>().Select(x=>x.Value).OrderBy(x=>x).First();

[解决办法]
引用:
引用:引用:引用:引用:string result = Regex.Matches("100;108;209;301;309;330;", @"([1-9]\d{3,}
[解决办法]
[3-9]\d{2,})(?=;
[解决办法]
$)").OfType……

string input = "100;108;209;301;309;330;";
            string result= Regex.Matches(input, @"[1-9]\d{3,}
[解决办法]
[3-9]\d{2,}").OfType<Match>().Select(x=>x.Value).OrderBy(x=>x).FirstOrDefault();
[解决办法]
string pattern=@"[1-9]\d{3,}
[解决办法]
[4-9]\d{2}
[解决办法]
3[2-9]\d";

热点排行