如如用一个数字来提取字号后面的字符到空格呢?如:
HK5中的5
怎么样得到
1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD 
中的
DDCF
DDER
DDCV
DEDD
用活动的TextBox1.Text到TextBox5.Text来显示
格式不变数字是1-9之间变化
帮帮忙谢谢!!!

解决方案 »

  1.   

    string str = "1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD ";
                string[] arrstr=str.Split('1', '2', '3', '4', '5', '6', '7', '8', '9', '0');
                foreach (string s in arrstr)
                {
                    Console.WriteLine(s.Trim('.'));
                }
      

  2.   

    string str = "1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD ";
    string[] a = str.spilt(" ");
    string b = a[0];  // b 的值为  1.DDCF
    string c = b.spilt(".")[1];这时c的值为DDCF粗略的讲一下,剩下的LZ很容易就可以解决了..
      

  3.   

    Regex regex = new Regex("([1-9]\\.([A-Z]{4})\\s{0,1})+?");
    MatchCollection matchs = regex.Matches("1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD");
    foreach (Match match in matchs)
    {
        Response.Write(match.Groups[2].Value);//<------ match.Groups[2].Value 就是你想要的值
        Response.Write("<Br>");
    }输出结果是:
    DDCF
    DDER
    DDCV
    DERD
    DEDD
      

  4.   

    string str = "1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD";
                string[] s = str.Split(new char[] { ' ', '.','1','2','3','4','5','6','7','8','9' });            foreach (string ss in s)
                {
                    Console.WriteLine(ss);
                }
      

  5.   

    能不能用FOR  来提取呢??
      

  6.   

    为什么用match.Groups[2]呢?怎么分得组,能解释一下么?
      

  7.   

    在里TEXE里输入输入的是
    HK5
    1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD 
    6.DFKJNJBU
    7.DFPTNF  DFVBGG
    想得到
    DDCF 
    DDER 
    DDCV 
    DEDD 
    HK后面要是3就是得到1-3,后的数据至空格
      

  8.   

    准确的是HK后要是5就是得到
    DDCF 
    DDER 
    DDCV 
    DERD 
    DEDD
    要是3的话
    DDCF 
    DDER 
    DDCV 
    但是HK后的数是活动的.序号一般都在10以上要怎么样才能用HK后的来得到相对应的序号后的数啊.......
      

  9.   

    Substring和Parse等没有做合法性检查,细节楼主自己实现吧
    string src = "HK5";
    string dst = @"1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD 
    6.DFKJNJBU 
    7.DFPTNF  DFVBGG";
    int num = int.Parse(src.Substring(src.IndexOf("HK") + 2, 1));
    string[] arr = dst.Split(' ');
    for (int i = 0; i < num; i++)
    {
        richTextBox2.Text += arr[i].Substring(2) + "\n";
    }
      

  10.   


    这个正则有两个分组。
    所以最有Match.Groups集合数肯定是3.
    Groups[0]表示是匹配本身。
    从索引1开始时从外到内的分组匹配,所以第1个分组就是([1-9]\\.([A-Z]{4})\\s{0,1}),第二个分组就是([A-Z]{4})
      

  11.   

    LZ不会用正则表达式么?Regex regex = new Regex("([1-9]\\.([A-Z]+)\\s{0,1})+?");
    MatchCollection matchs = regex.Matches("1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD");
    foreach (Match match in matchs)
    {
    Response.Write(match.Groups[2].Value);// <------ match.Groups[2].Value 就是你想要的值
    Response.Write(" <Br>");
      

  12.   

    先把空格去掉,然后直接用数字分离就可以了。               string str = "1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD ";
                str = str.Replace(" ","");
                string[] arrstr=str.Split('1', '2', '3', '4', '5', '6', '7', '8', '9', '0');
                foreach (string s in arrstr)
                {
                    Console.WriteLine(s.Trim('.'));
                }
      

  13.   

                string sol = string.Empty;
                MatchCollection m = Regex.Matches(textBox2.Text, @"(?<=HK)\d+(?=\s)|(?<=\s*\d+\.)[^\s]+(?=\s)", RegexOptions.IgnoreCase);            for (int  i = 1; i <=Convert.ToInt32(m[0].Value); i++)
                {
                    sol +=  m[i].Value + Environment.NewLine;
                }
                this.textBox1.Text = sol;说明书:
    1.把textBox2.Text替换成你的输入text
    2.m[0].Value里是HK后面的个数
    3.m[1].Value~m[n].Value分别对应第1到第n组字符串
    4.要是HK过大会异常,自己看情况处理吧
      

  14.   

    又看了一下需求,有个问题:"HK5 
    1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD 
    6.DFKJNJBU 
    7.DFPTNF  DFVBGG "以上,统统输入到一个text里的吧?要是的话就用我的方法
      

  15.   

    string str = "1.DDCF 2.DDER 3.DDCV 4.DERD 5.DEDD ";
                string[] arrstr=str.Split('1', '2', '3', '4', '5', '6', '7', '8', '9', '0','.');
                foreach (string s in arrstr)
                {
                    Console.WriteLine(s);
                }
      

  16.   

    我在TextBox1.text中输入: 
    1.何月岚 2.黄大庆 3.刘雅琴 4.王长春 5.杨理智 6.姚华                            
     7.赵丽娟 8.钟彬 MQSXG                                                          
     9.  CZ345  R   MO02JUN  CANPEK RR8   1000 1235          E                      
    10.CAN/T CAN/T 020-87774512/CAN KONG YUAN CENTER/LIN HUAI JING ABCDEFG          
    11.02086300366/CANXIN                                                           
    12.T                                                                            
    13.SSR FOID CZ HK1 NI360426198205040422/P7                                      
    14.SSR FOID CZ HK1 NI420322198212165149/P8                                      
    15.SSR FOID CZ HK1 NI433130198108084414/P6                                      
    16.SSR FOID CZ HK1 NI452324198005020334/P5                                      
    17.SSR FOID CZ HK1 NI42900181091876/P4                                          
    18.SSR FOID CZ HK1 NI430421198104240026/P3                                      
    19.SSR FOID CZ HK1 NI42220119781006011X/P2                                      
    20.SSR FOID CZ HK1 NI362131791005094/P1 
    .CS中是这样处理
    用CANPEK RR8   中的8来提取:1~8后面的中文和NI/P1~NI/P8中间的证件用下面的应该再怎么改
       string sol = string.Empty; 
                MatchCollection m = Regex.Matches(textBox2.Text, @"(? <=HK)\d+(?=\s) ¦(? <=\s*\d+\.)[^\s]+(?=\s)", RegexOptions.IgnoreCase);             for (int  i = 1; i <=Convert.ToInt32(m[0].Value); i++) 
                { 
                    sol +=  m[i].Value + Environment.NewLine; 
                } 
                this.textBox1.Text = sol; 
    谢谢!!另谢谢HimeTale 明白了那么一点点正则表达不过还得再次请教.5555555555我太菜了