Как удалить окончание ссылки правильно? REGEX

backoff

Client
Регистрация
20.04.2015
Сообщения
6 225
Благодарностей
6 556
Баллы
113
привет
Имеем такие ссылки

C#:
https://www.domain/text/kto-takie-droppery/?rubricAlias=vklady
https://www.domain/text/vlasti-ogranichili-perevody-fizlicam-s-maya-2025-goda/?rubricAlias=vklady
https://www.domain/text/kogda-centrobank-snizit-klyuchevuyu-stavku-may-2025/?rubricAlias=vklady
https://www.domain/text/kakim-budet-kurs-rublya-v-maye-2025/?rubricAlias=vklady
https://www.domain/q/chto-takoe-pensionnyj-vklad-i-chem-on-otlichaetsja-ot-obychnogo-76486/
https://www.domain/text/kogda-bank-mozhet-ne-otdat-dengi-s-vklada/?rubricAlias=vklady
https://www.domain/text/top-5-vkladov-na-sravni/?rubricAlias=vklady
https://www.domain/text/banki-rasskazhut-pro-vklady-po-novomu/?rubricAlias=vklady
https://www.domain/q/kakoj-dolzhna-byt-finansovaja-podushka-bezopasnosti-i-gde-ejo-kh-75228/
https://www.domain/text/kak-pravilno-zakryt-vklad/?rubricAlias=vklady
https://www.domain/text/pochemu-banki-snizhayut-stavki-po-nakopitelnym-schetam/?rubricAlias=vklady
https://www.domain/text/kakoi-budet-klyuchevaya-stavka-v-aprele-2025-goda/?rubricAlias=vklady
https://www.domain/text/ge-luchshe-otkryt-vklad-v-aprele-2025-goda/?rubricAlias=vklady
https://www.domain/q/pochemu-snizhajutsja-stavki-po-vkladam-khotja-kljuchevaja-stavka-74833/
https://www.domain/q/chto-vygodnee-prodlevat-vklad-ili-perelozhit-v-drugoj-bank-74792/
https://www.domain/text/skolko-deneg-polozhit-na-vklad-v-alfabanke-2025/?rubricAlias=vklady
https://www.domain/q/chto-luchshe--nakopitelnyj-schjot-ili-akcii-74293/
https://www.domain/text/kak-otkryt-vklad-pod-30-procentov/?rubricAlias=vklady
https://www.domain/q/chto-sejchas-vygodnee-vklad-nakopitelnyj-schjot-ili-obligacii-74274/
удалить надо все после последнего слеша /, то есть эту часть "?rubricAlias=vklady"

удаляю через замену, беру весь список ссылок, объединяю и через регекс удаляю
\?.*
все нормально удаляется, НО после возвращения в список, некоторые строки объединяются, не могу понять почему

133595
133596

попробовал такую регулярку \?.*$ в notepad++ все работает со всеми регуляками нормально
а в постере чето нифига, а эта так вообще не работает, даже не обрезает ничего

че не так?
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 498
Благодарностей
868
Баллы
113
привет
Имеем такие ссылки

C#:
https://www.domain/text/kto-takie-droppery/?rubricAlias=vklady
https://www.domain/text/vlasti-ogranichili-perevody-fizlicam-s-maya-2025-goda/?rubricAlias=vklady
https://www.domain/text/kogda-centrobank-snizit-klyuchevuyu-stavku-may-2025/?rubricAlias=vklady
https://www.domain/text/kakim-budet-kurs-rublya-v-maye-2025/?rubricAlias=vklady
https://www.domain/q/chto-takoe-pensionnyj-vklad-i-chem-on-otlichaetsja-ot-obychnogo-76486/
https://www.domain/text/kogda-bank-mozhet-ne-otdat-dengi-s-vklada/?rubricAlias=vklady
https://www.domain/text/top-5-vkladov-na-sravni/?rubricAlias=vklady
https://www.domain/text/banki-rasskazhut-pro-vklady-po-novomu/?rubricAlias=vklady
https://www.domain/q/kakoj-dolzhna-byt-finansovaja-podushka-bezopasnosti-i-gde-ejo-kh-75228/
https://www.domain/text/kak-pravilno-zakryt-vklad/?rubricAlias=vklady
https://www.domain/text/pochemu-banki-snizhayut-stavki-po-nakopitelnym-schetam/?rubricAlias=vklady
https://www.domain/text/kakoi-budet-klyuchevaya-stavka-v-aprele-2025-goda/?rubricAlias=vklady
https://www.domain/text/ge-luchshe-otkryt-vklad-v-aprele-2025-goda/?rubricAlias=vklady
https://www.domain/q/pochemu-snizhajutsja-stavki-po-vkladam-khotja-kljuchevaja-stavka-74833/
https://www.domain/q/chto-vygodnee-prodlevat-vklad-ili-perelozhit-v-drugoj-bank-74792/
https://www.domain/text/skolko-deneg-polozhit-na-vklad-v-alfabanke-2025/?rubricAlias=vklady
https://www.domain/q/chto-luchshe--nakopitelnyj-schjot-ili-akcii-74293/
https://www.domain/text/kak-otkryt-vklad-pod-30-procentov/?rubricAlias=vklady
https://www.domain/q/chto-sejchas-vygodnee-vklad-nakopitelnyj-schjot-ili-obligacii-74274/
удалить надо все после последнего слеша /, то есть эту часть "?rubricAlias=vklady"

удаляю через замену, беру весь список ссылок, объединяю и через регекс удаляю
\?.*
все нормально удаляется, НО после возвращения в список, некоторые строки объединяются, не могу понять почему


попробовал такую регулярку \?.*$ в notepad++ все работает со всеми регуляками нормально
а в постере чето нифига, а эта так вообще не работает, даже не обрезает ничего

че не так?
Регулярка тут лишняя


C#:
string url = "https://www.domain/text/kto-takie-droppery/?rubricAlias=vklady";
int lastSlashIndex = url.LastIndexOf('/');
string result = url.Substring(0, lastSlashIndex);
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 225
Благодарностей
6 556
Баллы
113
я это обошел с помощью цикла взятия по одной строке, работает, но это не эстетично )))
хочу понять как сделать это разом со всеми строками из одной переменной без шарпа
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 498
Благодарностей
868
Баллы
113
я это обошел с помощью цикла взятия по одной строке, работает, но это не эстетично )))
хочу понять как сделать это разом со всеми строками из одной переменной без шарпа
C#:
        string input = @"https://www.domain/text/kto-takie-droppery/?rubricAlias=vklady
https://example.com/path/to/resource/
https://test.com/one/two/three";

        string result = string.Join("\n",
            input
                .Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries)
                .Select(url =>
                {
                    int lastSlashIndex = url.LastIndexOf('/');
                    return lastSlashIndex != -1 ? url.Substring(0, lastSlashIndex) : url;
                })
        );

return result;

ну отлично, слово без шарпа прочитал вовремя)
 

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
335
Благодарностей
59
Баллы
28
я это обошел с помощью цикла взятия по одной строке, работает, но это не эстетично )))
хочу понять как сделать это разом со всеми строками из одной переменной без шарпа
\?[^\r\n]* на пустоту
 
Последнее редактирование:

backoff

Client
Регистрация
20.04.2015
Сообщения
6 225
Благодарностей
6 556
Баллы
113

S10n4eg

Client
Регистрация
25.06.2014
Сообщения
335
Благодарностей
59
Баллы
28

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
21 428
Благодарностей
9 530
Баллы
113
@backoff Попробуйте такой вариант: [^/]+(?=\r?\n|$)

133602

Результат:

133603
 
  • Спасибо
Реакции: backoff

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