比如:
字符串如下:
AAA-BB-234-KK
...怎么样分别取出
AAABBB234KK请不要告诉我用 substring()函数 , 因为,我的字符串的 - 符号是不确定。谢谢!

解决方案 »

  1.   


                string s = "AAA-BB-234-KK";
                string[] ss = s.Split('-');
      

  2.   

    Split函数啊string s = "AAA-BB-234-KK";
    foreach(string ss in s.Split('-'))
    {
       MessageBox.Show(ss);
    }
      

  3.   

    string s = "AAA-BB-234-KK";
    foreach(string ss in s.Split('-'))
    {
      MessageBox.Show(ss);
    }
    取第二个-后的值
    MessageBox.Show(s.Split('-')[2]);
      

  4.   

    MessageBox.Show(s.Split('-')[2]);
      

  5.   

    哦,不好意思,可能我表达问题错了!我的原意应是这样!
    比如:
    AAA-BB-234-KK
    BB5
    K4-J55-U8
    L33-J5我要求取得的结果是:
    第1列  第2列  第3列  第4列
    AAA    BBB    234   KK
    BB5
    K4     J55     U8
    L33    J5这样的。
      

  6.   


    那直接Replace那个-为空格不就完了s.Replace('-',' ');
      

  7.   

    肯定不能用replace ,我要单独地取出数据。
      

  8.   

    我的问题是这样的:
    Str的值如下:
    AA3-D3-J55-L4.jpg
    S34.jpg
    K4-J56-K4.jpg
    S22-102-K3-H4我要求向一个表中的
    S1,S2,S3,S4 写入值
    则我的结果应是:
    AA3     D3       J55    L4
    S34    空字符   空字符   空字符
    K4      J56      K4    空字符
    S22     102      K3     H4
      

  9.   

    其实你要单独取数据,大可以将数组存入string[]
    string s = "AAA-BB-234-KK";
    string[] temp = s.Split('-');
    int maxLengh = temp.Count;
    然后按照temp[0], temp[1], temp[2]....temp[maxLenght-1]这样取数据
    这是和5楼相同的意思,只不过当你不知道数组长度时,帮你找出数组长度。
      

  10.   

    还是用split啊,当你插入表数据时,判断下每一行都被split成的count够不够你的4列。不够就被空值了。
    拼sql而已。
      

  11.   


    string[] test = new string[] { "AA3-D3-J55-L4.jpg", "S34.jpg", "K4-J56-K4.jpg", "S22-102-K3-H4" };
    Regex reg = new Regex(@"([^-.]*)-?([^-.]*)?-?([^-.]*)?-?([^-.]*)?");
    foreach (string s in test)
    {
        Match m = reg.Match(s);
        richTextBox2.Text += "源字符串:" + s + ",匹配结果:\n";
        if (m.Success)
        {
            richTextBox2.Text += "每一列:" + m.Groups[1].Value + "\n";
            richTextBox2.Text += "每二列:" + m.Groups[2].Value + "\n";
            richTextBox2.Text += "每三列:" + m.Groups[3].Value + "\n";
            richTextBox2.Text += "每四列:" + m.Groups[4].Value + "\n----------------------\n";
        }
    }
    /*-----输出-----
    源字符串:AA3-D3-J55-L4.jpg,匹配结果:
    每一列:AA3
    每二列:D3
    每三列:J55
    每四列:L4
    ----------------------
    源字符串:S34.jpg,匹配结果:
    每一列:S34
    每二列:
    每三列:
    每四列:
    ----------------------
    源字符串:K4-J56-K4.jpg,匹配结果:
    每一列:K4
    每二列:J56
    每三列:K4
    每四列:
    ----------------------
    源字符串:S22-102-K3-H4,匹配结果:
    每一列:S22
    每二列:102
    每三列:K3
    每四列:H4
    ----------------------
    */
      

  12.   

    你的问题和这个基本类似,改改就可以了
    参考  http://blog.csdn.net/chinajiyong/article/details/7581260