我的TextBox中有一串字符串http://localhost/iec/images/p.jpg
我想截取出images/p.jpg我用了一个很简单的办法:
str = Trim(TextBox.Text)
Dim route() As String = Split(str, "/")
If Trim(route(2)) = "localhost" Or Trim(route(2)) = "127.0.0.1" Then
 url = Trim(route(4)) & "/" & Trim(route(5))
End If
可是发生了一件令人吃惊的事情---
我把站点发布在一台服务器(win2000 server  .net 1.1)
我在这台服务器本地,直接执行这几条语句,会被提示“数组为空”,可是无论我在其它的任何地方远程执行,毫无问题!!!我在我的计算机上调试也没出现任何问题!!这就不可思议了,如果说是服务器出问题的话,那么怎么远程访问执行时又会没事呢?!?
我实在理解不了了,还请前辈们指点!谢谢

解决方案 »

  1.   

    你先看看str值是什么,调试一下.
      

  2.   

    http://localhost/iec/images/p.jpg
    如果你的程序试放在服务器上的,那么url是不是就应该是:
    http://www.你的域名.com/iec/images/p.jpg
    就不是localhost或127.0.0.1
    我个人的观点。楼主可以看看
      

  3.   

    为什么不用String类的Split方法
      

  4.   

    这个应该没有关系,应为如果不是localhost或127.0.0.1就不会截取了,自然也就不会出错了
      

  5.   

    用String类的Split方法这个到是没有试过,和我的有什么区别吗?还请前辈指点!
    谢谢
      

  6.   

    我是太想不通了,如果在服务器本地 错误的话,那远程的web访问也是在服务器上执行的啊!
    怎么就没事呢??!?!崩溃!
      

  7.   

    楼主考虑用正则来取么?
    reg=@"/(\w+/[^/]+)$"
      

  8.   

    用流写个临时文件把str等想要看的内容写到文件了,就会发现到底是怎么回事了。
      

  9.   

    我给你个C#的。
    String GetMyUrl(String url) 

      Regex r = new Regex=(@"/(\w+/[^/]+)$",RegexOptions.Compiled); 
      return r.Match(url).Result("${0}"); 
    } vb.net的差不多翻译一下就可以了。
    至于什么是正则,很多地方都有介绍,最好在msdn里面搜一下,了解了正则表达式后,一般的字符串替换获取什么的都可以轻松搞定。
      

  10.   

    我是太想不通了,如果在服务器本地 错误的话,那远程的web访问也是在服务器上执行的啊!
    怎么就没事呢??!?!崩溃!有没有前辈能提示我一点点可能出错的原因呢?谢谢
      

  11.   

    string str = Trim(TextBox.Text);
    Response.Write("<script>alert(' " + str + "')</script>") //测试是否取到了想要的字符串
    string[] route = str.Split(@"/");
    int strLength = route.Length;
    Response.Write(("<script>alert(' " + strLength.ToString() + "')</script>") //测试字符串的长度
    for(int looper = 0 ; looper < strLength ; looper ++)
    {
        Response.Write("<script>alert(' " + route[looper] + " ')</script>");
    }使用这段代码就知道哪个环节出了问题.C#
      

  12.   

    str = TextBox.Text;
    string[] aa = str.split('/');
    值 = aa[aa.Length-2].ToString() + "/" + aa[aa.Length-1].ToString();以上是C#的写法,使用split拆分成数组,取倒数第1/2的值进行合并