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

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 697
Благодарностей
940
Баллы
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

Заранее благодарю.
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Регулярками не знаю как, а 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

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 719
Баллы
113
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

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

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