是这样的,我的一个字符串:
string a=“13500001111,13977778888,13877778888,13355556666,13311110000,18911110000”里面的手机号分别是移动、联通、电信的,每个号码之间以半角逗号分隔,我想把a里面的所有号码按移动联通电信这样区分出来,最后变成如下:
b="13500001111,13977778888,13877778888"
c="13311110000,13355556666"
d="18911110000"
请教各位,这个该怎么写了?
谢谢了!

解决方案 »

  1.   

    string a = "13500001111,13977778888,13877778888,13355556666,13311110000,18911110000";
                string b = string.Join(",", Regex.Matches(a, @"1(3[4-9]|47|5[012789]|8[278])\d{8}(?=,|$)").OfType<Match>().Select(t => t.Value).ToList());
                string c = string.Join(",", Regex.Matches(a, @"1(3[0-3]|[58][56])\d{8}(?=,|$)").OfType<Match>().Select(t => t.Value).ToList());
                string d = string.Join(",", Regex.Matches(a, @"1([35]3|8[09])\d{8}(?=,|$)").OfType<Match>().Select(t => t.Value).ToList());
                
      

  2.   

    比如说:var 移动 = string.Join(",", (from x in a.Split(',')
                                let pref = int.Parse(x.Substring(0, 3))
                                where pref >= 135 && pref <= 139
                                select x).ToArray());