有两个网址url=http://www.xamq.com/s/dir.asp
        和url=http://www.xamq.com
我最终想获得http://www.xamq.com/
就是让url=http://www.xamq.com/
请问用什么方法最快最准确?

解决方案 »

  1.   

    使用split('/'),分成字符串数组,下标是从0开始,取前三个数组元素就行。
      

  2.   

    可是第二个url=http://www.xamq.com根本没有"/"怎么取..
      

  3.   

    string result = "http://"+Request.Url.Host;
      

  4.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Text.RegularExpressions;namespace Demo
    {
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                string url = Request.Url.AbsoluteUri;
                string urlPar = Request.RawUrl;
                Regex reg = new Regex(urlPar);            Response.Write(url.Replace(urlPar, ""));
            }
        }
    }
      

  5.   

    不需要用正则。
                string url = Request.Url.AbsoluteUri;
                string urlPar = Request.RawUrl;            
                Response.Write(url.Replace(urlPar, ""));
      

  6.   

    http://msdn.microsoft.com/zh-cn/library/system.web.httprequest.aspx
      

  7.   

    要快的话需要知道允许哪些协议,如果仅仅是http且合法
    int index = url.IndexOf('/', 10);
    url = ++index == 0 ? url + "/" : url.Substring(0, index);
      

  8.   

    8楼那个10是什么意思啊?如果不是固定的url,怎么办?      时不我待答的到是不错,但是答非所问指的就是你了。。
      

  9.   

    我晕,刚开始是你没有说清楚。下面的试了没?怎么答非所问了?
                string url = Request.Url.AbsoluteUri;
                string urlPar = Request.RawUrl;            
                Response.Write(url.Replace(urlPar, ""));
      

  10.   

    老大,url我己经定义过了,你再重新取一次,你存心的吧,嘿嘿。。
      

  11.   

    先判断长度够不够你需要的,第二个url少个'/'加上,长度够的就用Split('/'),取前三个字符同时加上'/',好像有点麻烦
      

  12.   


    服了,既然你的url是定义好的,不是动态的,那随便什么方法都可以。。何必在这儿纠结。。