&Airs_0=22APR09^CAN^HGH^JD5169^319^0745^0950^1^1^1^YAYY1050@BA92970^&Airs_1=
22APR09^CAN^HGH^FM9352^757^0755^0955^1^1^1^QA64670@VA60630@WA52550@FAFF1580
@YAYY1050^&Airs_2=22APR09^CAN^HGH^CA1353^73G^0800^0955^1^1^1^VA56590@F6FF1580@YAYY1050@BA92970^&
截取"Airs_0至^&","Airs_1至^&","Airs_2至^&"的数据并用DataTable显示到DataGrid里面????

解决方案 »

  1.   

    使用正则表达式
    [code=C#]
    using System.Text.RegularExpressions;        private void button1_Click(object sender, EventArgs e)
            {
                string str = @"&Airs_0=22APR09^CAN^HGH....";
                Regex reg = new Regex(@"Airs_\d.*?\^&");
                MatchCollection matchs = reg.Matches(str);            DataTable dt = new DataTable();
                dt.Columns.Add("col1", typeof(string));            DataRow dr;
                foreach (Match m in matchs)
                {
                    dr = dt.NewRow();
                    dr[0] = m.Value;
                    dt.Rows.Add(dr);
                }
                this.dataGridView1.DataSource = dt;
            }
      

  2.   


    Regex re = new Regex(@"(?<=Airs_[^=]+=).*?(?=\^&)");
    Match m = re.Match(input);
    while(m.Success)
    {
        Console.WriteLine(m.Value);
        m = m.NextMatch();
    }
    /*结果
    22APR09^CAN^HGH^JD5169^319^0745^0950^1^1^1^YAYY1050@BA92970
    22APR09^CAN^HGH^FM9352^757^0755^0955^1^1^1^QA64670@VA60630@WA52550@FAFF1580@YAYY1050
    22APR09^CAN^HGH^CA1353^73G^0800^0955^1^1^1^VA56590@F6FF1580@YAYY1050@BA92970
    */