2012-04-10 3 views
1

У меня очень длинная строка, которая объединяет в себе повторяющиеся запросы и некоторые регулярные URL-адреса сайта. это выглядит какРегулярное выражение, чтобы получить базовый url

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

Я хотел бы получить только http://www.mysite.com из этой строки. Я думаю, что, может быть, регулярное выражение может сделать трюк, но Im def не quilfied, чтобы написать любое из этого :), так что я могу получить некоторую помощь?

EDIT
мне нужно решение, так что я могу передать строку URL-адрес и получить базовый URL от этого. Не мой текущий Url

спасибо, ребята, оцените его, как всегда.

ответ

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); 
+0

Я не могу использовать. его строка, которая генерирует URL-адреса, такие как .se, .co.uk и т. д. с этим полным URL-адресом. Так что я не получаю текущий url –

+0

Средство ..? Я не понимаю, что вы говорите. @ Dejan.S –

+0

Пробовали с этим, потому что это рабочее решение. Я обновил свой ответ для вашего разъяснения. @ Dejan.S –

0

Решение

var url = new Uri("http://www.mydomain.com/Site/Subsite?page=site"); 
var baseUrl = url.Host; 
+0

Это даст вам «www.mydomain.com», а не 'http: // www.mydomain.com' –

+0

да, но я могу добавить http: //, с решением, которое у вас есть, я не могу пройти по URL-адресу? –

+0

Тогда вам нужно обновить свой вопрос, потому что вы ожидаете чего-то еще с вопросом, который вы разместили. –

Смежные вопросы