Как вернуть строчку с конца до элемента '/'
например site.ru/page-1/image-1.jpg вернуть /image-1
А давайте будем думать не в терминах строк, а в терминах объектов, мы ж пишем на объектно-ориентированном языке? Ваш адрес должен быть в любом случае в объекте типа Uri
.
Uri uri = new Uri("http://site.ru/page-1/image-1.jpg");
string last = uri.Segments.Last(); // image-1.jpg
Если нужно ещё и откусить расширение, то
string lastWithoutExt = Path.GetFileNameWithoutExtension(last); // image-1
Если на входе у вас именно абсолютный Uri, нужнен именно последний сегмент, и нужно избежать случайных совпадений в query string, то:
var url = new Uri("http://site.ru/page-1/image-1.jpg");
Console.WriteLine("/" + url.Segments.Last()); // /image-1.jpg
Разница по сравнению с поиском последнего /
в обработке строк вот такого вида:
var url = new Uri("http://site.ru/page-1/image-1.jpg?some=a/b");
Console.WriteLine("/" + url.Segments.Last()); // все еще /image-1.jpg, а не /b
string s = @"site.ru/page-1/image-1.jpg";
int index = s.LastIndexOf(@"/");
string result =
(@"/" + System.IO.Path.ChangeExtension(s.Substring(index + 1), "")).Trim('.');
string a = "site.ru/page-1/pic.jpg";
string filename = a.Split('/')[2];
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Допустим, у нас есть строка в UTF-8Она должна занимать в памяти ровно 38 байт
Есть список объектов со следующей структурой(что-то вроде оповещений):
Как из метода GetValue() возвратить значение типа Nullable