1

我得到了一个很长的字符串,其中包含查询字符串和一些常规站点 url。它看起来像

http://www.mysite.com/site/site?pageId=1234&otherId=4321

我想http://www.mysite.com从这个字符串中得到。我想也许正则表达式可以解决问题,但我没有写任何东西:)所以我能得到一些帮助吗?

编辑
我需要一个解决方案,以便我可以传递 url 字符串并从中获取基本 url。不是我当前的网址

谢谢大家,一如既往的感激。

4

3 回答 3

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);
于 2012-04-10T09:48:49.580 回答
0

解决方案

var url = new Uri("http://www.mydomain.com/Site/Subsite?page=site");
var baseUrl = url.Host;
于 2012-04-10T10:10:14.053 回答
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;
        }
于 2020-10-26T12:38:34.820 回答