Как разбить URL на строковый массив

1

Я хочу иметь возможность URL-адреса текущей страницы и извлекать от конца до последнего появления /

Так, например, если мой URL-адрес http://myintranet/guidelines/Home/Pages/mymed.aspx: http://myintranet/guidelines/Home/Pages/mymed.aspx

Я хочу извлечь mymed.

У меня это до сих пор:

string strEntity = HttpContext.Current.Request.Url.AbsolutePath;
Label2.Text = strEntity;

который отображает:

/guidelines/Home/Pages/mymed.aspx

Я попытался использовать Split("\\").Last(); но это не сработало для него и не может назначить string [] для строки...

  • 3
    Вы видели класс System.Uri ?
Теги:

4 ответа

7
Лучший ответ

Вы можете использовать метод GetFileNameWithoutExtension из класса System.IO.Path:

var uri = HttpContext.Current.Request.Url;
string fileName = Path.GetFileNameWithoutExtension(uri.AbsolutePath);
  • 0
    Это сработало отлично. Спасибо.
  • 0
    +1 за идею :-)
Показать ещё 1 комментарий
4
Uri uri = new Uri("http://myintranet/guidelines/Home/Pages/mymed.aspx");
var segments = uri.Segments;
//do something with the array of segments

Изменение: как указано, вам не нужно создавать Uri, поскольку у вас уже есть один:

var lastPart = HttpContext.Current.Request.Url.Segments.Last();
  • 0
    Благодарю. Как мне получить последний сегмент? И это использует жестко закодированный URL, но я хочу, чтобы он был динамичным.
  • 3
    uri.Segments.Last();
Показать ещё 1 комментарий
2
Uri uri = new Uri("http://myintranet/guidelines/Home/Pages/mymed.aspx");
var segments = uri.Segments;
var last = segments.Last(); //to get the last
var mymed = last.Split(".")[0]; //to separate the name from the extention
  • 0
    Спасибо. Я проголосовал за ваш ответ.
  • 0
    Добро пожаловать!
1

Вы можете попробовать что-то вроде этого:

 var ub = new UriBuilder("http://myintranet/guidelines/Home/Pages/mymed.aspx");
 NameValueCollection nvc = HttpUtility.ParseQueryString(ub.Query);
 string page = nvc[nvc.Count - 1];
  • 0
    QueryString в этом случае пусто ... вам нужен путь, а не строка запроса

Ещё вопросы

Сообщество Overcoder
Наверх
Меню