我得到了一个很长的字符串,其中包含查询字符串和一些常规站点 url。它看起来像
http://www.mysite.com/site/site?pageId=1234&otherId=4321
我想http://www.mysite.com
从这个字符串中得到。我想也许正则表达式可以解决问题,但我没有写任何东西:)所以我能得到一些帮助吗?
编辑
我需要一个解决方案,以便我可以传递 url 字符串并从中获取基本 url。不是我当前的网址
谢谢大家,一如既往的感激。
我得到了一个很长的字符串,其中包含查询字符串和一些常规站点 url。它看起来像
http://www.mysite.com/site/site?pageId=1234&otherId=4321
我想http://www.mysite.com
从这个字符串中得到。我想也许正则表达式可以解决问题,但我没有写任何东西:)所以我能得到一些帮助吗?
编辑
我需要一个解决方案,以便我可以传递 url 字符串并从中获取基本 url。不是我当前的网址
谢谢大家,一如既往的感激。
请试试这个:
string uri = Request.Url.GetLeftPart(UriPartial.Authority);
您也可以检查一下:
var url = new Uri("http://www.mysite.com/site/site?pageId=1234&otherId=4321");
string uri = url.GetLeftPart(UriPartial.Authority);
解决方案
var url = new Uri("http://www.mydomain.com/Site/Subsite?page=site");
var baseUrl = url.Host;
正如作者要求的正则表达式,就是这样:
static string ExtractBaseUrl(string url)
{
Regex regex = new Regex(@"^https?:\/\/[^\/]+");
Match resultm = regex.Match(url);
if (resultm.Success)
return resultm.Groups[0].Value;
else return null;
}