Регулярка - последнее слово между слешей?

  • Автор темы Автор темы Konrod_m
  • Дата начала Дата начала

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 810
Реакции
1 021
Баллы
113
Добрый день.

Нужно вычленить слово из ссылки между последних слешей. Самих слешей может быть больше и меньше. Вроде видел уже на форуме, но найти снова не получается.. Может есть у кого ссылочка или решение?

пример в ссылке ниже надо получить слово "story"

story/VLenoblasti_vvoskresene_potepleet_do16_gradusov--31631ed8d465900b24a72ff9dc8d80f1?lang=ru&rubric=Saint-Petersburg_and_Leningrad_Oblast&fan=1&stid=vFKHBernT_BDI-0490ka&t=1618761929&persistent_id=140415964

Заранее благодарю.
 
Регулярками не знаю как, а C# вот вариант:

C#:
Развернуть Свернуть Копировать
Uri uri = new Uri( "https://yandex.ru/news/story/VLenoblasti_vvoskresene_potepleet_do16_gradusov--31631ed8d465900b24a72ff9dc8d80f1?lang=ru&rubric=Saint-Petersburg_and_Leningrad_Oblast&fan=1&stid=vFKHBernT_BDI-0490ka&t=1618761929&persistent_id=140415964");
string [] segments = uri.Segments;
return segments[segments.Length-2].Replace("/","");
 
  • Спасибо
Реакции: Konrod_m
C#:
Развернуть Свернуть Копировать
string data_text = @"https://yandex.ru/news/story/VLenoblasti_vvoskresene_potepleet_do16_gradusov--31631ed8d465900b24a72ff9dc8d80f1?lang=ru&rubric=Saint-Petersburg_and_Leningrad_Oblast&fan=1&stid=vFKHBernT_BDI-0490ka&t=1618761929&persistent_id=140415964";                      // текст для обработки
string data_regx = @"(?<=\/)[^\/].*?(?=\/)";                // регулярка
var regexGroups = Macros.TextProcessing.Regex(data_text, data_regx); string result = "";
if (regexGroups.Count > 0) result = regexGroups[regexGroups.Count-1].FirstOrDefault();
return result;
 
  • Спасибо
Реакции: Konrod_m

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)