字符串如“X:\xxx\xxx\xxx\xxx\xxx\xxx.xxxX:\xxx\xxx\xxx\xx.xxxX:\xxx\xxx\xx.xx”要分割成
X:\xxx\xxx\xxx\xxx\xxx\xxx.xxx
X:\xxx\xxx\xxx\xx.xxx
X:\xxx\xxx\xx.xx
X为盘符,后面目录级数不顶,最后为文件名

解决方案 »

  1.   

    我是进来探讨一下的:
    string[] Array = yourstring.Split(':');
    然后会分割成
    X
    \xxx\xxx\xxx\xxx\xxx\xxx.xxxX
    \xxx\xxx\xxx\xx.xxxX
    \xxx\xxx\xx.xx然后在输出的时候自己加入上一个数组元素的最后一个字母和:
    这样就可以达到你需要的功能
      

  2.   


                string ss = @"X:\xxx\xxx\xxx\xxx\xxx\xxx.xxxX:\xxx\xxx\xxx\xx.xxxX:\xxx\xxx\xx.xx";
                char ch = 'X';
                string[] s = ss.Split(ch);
                for (int i = 0; i < s.Length; i++)
                {
                    if (s[i]!="")
                    {
                        MessageBox.Show(ch + s[i]);
                    }
                }
      

  3.   

    对于3楼,我觉得,在XXX等的目录级别中,也可以出现X字符,与其用X字符来分割字符串,不如用“:”(需要后期处理),或者用“X"来分割的话,要在循环中用IF来判断X的下一个字符是不是":"个人意见
      

  4.   


     string str = @"X:\xxx\xxx\xxx\xxx\xxx\xxx.xxxX:\xxx\xxx\xxx\xx.xxxX:\xxx\xxx\xx.xx";
                string[] res=Regex.Split(str, "(?=[a-zA-Z]:)");
                foreach(string s in res){
                    richTextBox1.Text += s + "\r\n";
                }
      

  5.   

    以'X:'来切就行了。。
    切完之后数组里的下标0
    array[0]\xxx\xxx\xxx\xxx\xxx\xxx.xxx 
    array[1]\xxx\xxx\xxx\xx.xxx 
    array[2]\xxx\xxx\xx.xx 
    然后再把'X:'加上去
    string str = "X:"+array[0];
      

  6.   

    string ss = @"X:\xxx\xxx\xxx\xxx\xxx\xxx.xxxX:\xxx\xxx\xxx\xx.xxxX:\xxx\xxx\xx.xx";
    ss=ss+"X:";
    string[] Array = ss.Split('X:'); 
    foreach(string a in Array)
    {
      //输出 a
    }