Как получить часть URL-адреса для назначения в строку? - PullRequest
0 голосов
/ 24 сентября 2011

URL-адрес моего локального проекта: -

http://localhost/mysite/KB/Type-1/General-Article

, а на сервере: -

http://www.mysite.com/KB/Type-1/General-Article

из обоих URL-адресов. Я хочу получить часть URL, покаТип-1 без косой черты

т.е. с адреса веб-сайта localhost, я хочу: -

http://localhost/mysite/KB/Type-1

и с сервера, я хочу: -

http://www.mysite.com/KB/Type-1

Как я могусделай это?Пожалуйста, помогите .. спасибо

Обратите внимание, что Тип-1 не является фиксированным, он может измениться.Это может быть что-то вроде «Тип-2», «Статьи пользователя» и т. Д.

Спасибо за ответы, но все равно это будет работать, если в концеURL тоже?например: - http://www.mysite.com/KB/Type-1/General-Article/ Обратите внимание, что текст "КБ" в URL-адресе является ИСПРАВЛЕННЫМ.

Ответы [ 3 ]

2 голосов
/ 24 сентября 2011

, так как вы не предоставляете достаточно информации только некоторые общие идеи:

РЕДАКТИРОВАТЬ 2 - согласно комментариям:

string MySubURL = MyURL.SubString ( 0, MyURL.TrimEnd(null).TrimEnd(new char[]{'/'}).LastIndexOf ("/") );
2 голосов
/ 24 сентября 2011

попробуйте этот код,

url.Substring(0, url.LastIndexOf("/")-1);

изменить: если у вас заканчивается косая черта, вы можете использовать следующий код

url=url.Remove(test1.Length - 1);
url.Substring(0, url.LastIndexOf("/")-1);
1 голос
/ 24 сентября 2011

Это будет делать то, что вы хотите, есть ли в конце '/' или нет в одной строке.Это немного дольше, но работает для всех ваших изложенных требований.

string url = "http://www.mysite.com/KB/Type-1/General-Article";
string seg = url.EndsWith("/") ? url.Substring(0, url.TrimEnd('/').LastIndexOf('/')) : url.Substring(0, url.LastIndexOf('/'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...