Вот что я пробовал:
string myURL= "http://mysite.com/articles/healthrelated";
String idStr = myURL.Substring(myURL.LastIndexOf('/') + 1);
Мне нужно получить «связанный со здоровьем», то есть текст после последней косой черты в URL-адресе. Теперь проблема в том, что мой URL-адрес тоже может быть таким:
"http://mysite.com/articles/healthrelated/"
То есть "косая черта" в конце этого текста тоже. Теперь последняя косая черта становится ПОСЛЕ "связанного со здоровьем", поэтому результат, который я получаю,
String idStr = myURL.Substring(myURL.LastIndexOf('/') + 1);
Пустая строка ..
Каким должен быть мой код, чтобы я всегда получал этот текст «связанный со здоровьем», независимо от того, есть ли в конце косая черта или нет. Мне просто нужно как-то получить этот текст.
3 ответа
Попробуй это.
var lastSegment = url
.Split(new string[]{"/"}, StringSplitOptions.RemoveEmptyEntries)
.ToList()
.Last();
Почему бы вам не использовать класс .NET Uri
и свойство segments
:
http://msdn.microsoft.com/en-us/library/system.uri.segments.aspx
Что вы можете сделать в этой ситуации, так это либо использовать REGEX (в котором я не эксперт, но я уверен, что здесь есть другие люди;)) или просто:
string[] urlParts = myURL.Split('/');
И берем последнюю строку в этом массиве.
Похожие вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.