我有一个非常长的字符串,其中包含查询字符串和一些常规网站网址。它看起来像
http://www.mysite.com/site/site?pageId=1234&otherId=4321
我想从这个字符串中得到http://www.mysite.com
。我想也许一个正则表达式可以做到这一点,但是我并没有因为写任何一个而狡猾:)所以我可以得到一些帮助吗?
修改
我需要一个解决方案,所以我可以传递url字符串并从中获取基本URL。不是我现在的Url
谢谢你们,一如既往地欣赏它。
答案 0 :(得分:2)
请试试这个:
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);
答案 1 :(得分:0)
解决方案
var url = new Uri("http://www.mydomain.com/Site/Subsite?page=site");
var baseUrl = url.Host;
答案 2 :(得分:0)
正如作者要求使用正则表达式一样,就是这样:
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;
}