string str=" 00,0000,000001,000002,000003,0001,0002,000201,000202,000203,0003,0004,0005,0006,0007,0008,0009,0010,0011"
怎么取出长度为4的项

解决方案 »

  1.   

    string.Split 根据”,“来截取成数组
    循环数组
    string.Contains 来检测是否包含4
      

  2.   


    string str=" 00,0000,000001,000002,000003,0001,0002,000201,000202,000203,0003,0004,0005,0006,0007,0008,0009,0010,0011";string[] ss=str.Split(',');for(int i=0;i<ss.Length;i++)
    {
       if(ss[i].Length==4)
       Console.WriteLine(ss[i]);
     
    }
      

  3.   


    var quer = from p in str.Split(',')
                           where p.Length == 4
                           select p;
      

  4.   


    var quer = from p in str.Split(',')
                           where p.Length == 4
                           select p;
      

  5.   

    LINQ            string source = @"00,0000,000001,000002,000003,0001,0002,000201,000202,000203,0003,0004,0005,0006,0007,0008,0009,0010,0011";
                string[] ss = source.Split(',');
                var vs = from s in ss where s.Length == 4 select s;
                foreach (var v in vs)
                {
                    MessageBox.Show(v.ToString());
                }
      

  6.   


            string str = " 00,0000,000001,000002,000003,0001,0002,000201,000202,000203,0003,0004,0005,0006,0007,0008,0009,0010";
            string[] sxx = str.Split(',');
            foreach (string xjj in sxx)
            {
                if (xjj.Length == 4)
                {
                    Response.Write(xjj+"<br />");
                }
            }
    这样写就好了!
      

  7.   


    string str = "00,0000,000001,000002,000003,0001,0002,000201,000202,000203,0003,0004,0005,0006,0007,0008,0009,0010,0011";
                var quer = from p in str.Split(',')
                           where p.Length == 4
                           select p;
    string[] str1 = quer.ToArray();
      

  8.   

    或使用正则,可能不完善            string source = @"00,0000,000001,000002,000003,0001,0002,000201,000202,000203,0003,0004,0005,0006,0007,0008,0009,0010,0011";
                Regex reg = new Regex(@"(?<=,)\d{4}(?=,)");
                MatchCollection mc = reg.Matches(source);
                foreach (Match m in mc)
                {
                    MessageBox.Show(m.Value);
                }