string s = "@123asdasdasdsadsa@456asdasdasd@127";
int[] nums = s.Split('@', StringSplitOptions.RemoveEmptyEntries).Select(x => int.Parse(Regex.Match(x, "\\d+").Value)).ToArray();

解决方案 »

  1.   

    List<int> l=new new List<int>();
    MatchCollection m=Regex.Matchs(s,"@(?<num>\d+?)(\D|$)");
    if(m!=null)
    {
    foreach(var m1 in m)
    {
    l.Add(int.Parse(m1.Groups["num"].Value);
    }
    }
      

  2.   


    string s = "@123asdasdasdsadsa@456asdasdasd@127";
    Regex regex = new Regex(@"[A-Za-z]");
    string sTmp = regex.Replace(s, "");
    string[] ss = sTmp.Split("@".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);List<int> ilst = new List<string>(ss).ConvertAll(Convert.ToInt32);