比如有路径"C:\Program   Files\Microsoft   SQL   Server\MSSQL\Data",
我现在想得到”MSSQL\Data“,应该怎么做?

解决方案 »

  1.   

    string[] args ="C:\Program  Files\Microsoft  SQL  Server\MSSQL\Data".spilt("\");
      

  2.   

    string[] args ="C:\Program  Files\Microsoft  SQL  Server\MSSQL\Data".spilt("\");取后头的两个即可
      

  3.   


    /*第一种*/
    string str = @"C:\Program  Files\Microsoft  SQL  Server\MSSQL\Data".Replace(@"C:\Program  Files\Microsoft  SQL  Server\","");
    /*第二种*/
    string str = @"C:\Program  Files\Microsoft  SQL  Server\MSSQL\Data".Remove(0, @"C:\Program  Files\Microsoft  SQL  Server\".Length);
    /*第三种*/
    string str = "C:\Program  Files\Microsoft  SQL  Server\MSSQL\Data".TrimStart(@"C:\Program  Files\Microsoft  SQL  Server\".ToCharArray())
      

  4.   

        string str = this.FileUpload1.PostedFile.FileName;
            if (str == "")
            {
                Response.Write("<script language=javascript>alert('请选择上传的图片!')</script>");
                return;
            }
            string ss = str.Substring(str.LastIndexOf("\\") + 1);
            string s = Server.MapPath("..\\..\\cars_images\\" + ss);
            path = "..\\..\\cars_images\\" + ss;
            this.FileUpload1.PostedFile.SaveAs(s);
            Image1.ImageUrl = path;
    代码中是提取文件路径中最后一个"\\"后面的部分,如果想要提取倒数第二个"\\"后面的部分要怎么写呢〉???
      

  5.   

    str=C:\Program  Files\Microsoft  SQL  Server\MSSQL\Datastr.subString(str.indexof("MSSQL\Data"))
      

  6.   

    路径操作呀,折腾字符串干啥,去看看Path类的成员,N多的路径操作函数,有获取指定路径的上层路径的函数的。
    自己折腾字符串不保险的
      

  7.   

    用字符串截取多方便呀;
    string url="C:\Program  Files\Microsoft  SQL  Server\MSSQL\Data";
    string subStr=url.subString(url.index("\MSSQL\Data")).Trim('\');
      

  8.   

    要领会一下精神的,
    对地址操作当然不要有截取“MSSQL\Data”这种字符串出现了,完全靠“\”来拼凑
    二楼,三楼的可以,但没写全,但拼字符串感觉也不错,但数组占空间太大了。
    Path类稍微看了一下,没发现可以取后两级的目录的快速方法。(当然我只是csdn找了5分钟,看了下这个类的各个字段和方法)如果我做,也得要靠substring和LastIndexOf来拼凑了,string tempRoot=Root="C:\Program  Files\Microsoft  SQL  Server\MSSQL\Data";
    Root=Root.Substring(tempRoot.Substring(0,tempRoot.LastIndexOf("\\")).LastIndexOf("\\"));
    是不是也比较傻的方法,没测试,想一行搞定,看来不太可能了。
      

  9.   

    Root=Root.Substring(tempRoot.Substring(0,tempRoot.LastIndexOf("\\").LastIndexOf("\\")); 
    上面的多了个“)”不好意思
      

  10.   

     string str ="[ads, ioio]";  
            int p1=str.IndexOf("[") + 1;
            int p2 = str.IndexOf("]") -1;             string  newStr=str.Substring(p1,p2);
                MessageBox.Show(newStr);