Помогите с регуляркой.

Miaso222

Client
Регистрация
29.06.2021
Сообщения
23
Благодарностей
1
Баллы
3
Имеем ссылку
ttps://business.facebook.com/home/accounts?global_scope_id=922227265094173&business_id=922227265094173
Нужно получить такую
ttps://business.facebook.com/settings/info?business_id=922227265094173
Сложность в том что цифры всегда разные на ссылках.
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113
Имеем ссылку
ttps://business.facebook.com/home/accounts?global_scope_id=922227265094173&business_id=922227265094173
Нужно получить такую
ttps://business.facebook.com/settings/info?business_id=922227265094173
Сложность в том что цифры всегда разные на ссылках.
А при чем тут регулярка, если нужно вырезать по отдельности цифры и формировать новую ссылку?
Попробуйте вырезать через конструктор регулярных выражений нужное.
 
  • Спасибо
Реакции: Miaso222

Gang

Client
Регистрация
04.04.2010
Сообщения
579
Благодарностей
313
Баллы
63
Имеем ссылку
ttps://business.facebook.com/home/accounts?global_scope_id=922227265094173&business_id=922227265094173
Нужно получить такую
ttps://business.facebook.com/settings/info?business_id=922227265094173
Сложность в том что цифры всегда разные на ссылках.
Привет. Попробуй так

Из ссылки ttps://business.facebook.com/home/accounts?global_scope_id=922227265094173&business_id=922227265094173 получаешь id 922227265094173
этой регуляркой
C#:
(?<=business\.facebook\.com/home/accounts\?global_scope_id=\d+&business_id=).*
сохранаешь id в переменную.
А дальше просто к ttps://business.facebook.com/settings/info?business_id= цепляешь ранее полученый id
 
  • Спасибо
Реакции: Miaso222

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113
  • Спасибо
Реакции: Miaso222

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Имеем ссылку
ttps://business.facebook.com/home/accounts?global_scope_id=922227265094173&business_id=922227265094173
Нужно получить такую
ttps://business.facebook.com/settings/info?business_id=922227265094173
Сложность в том что цифры всегда разные на ссылках.
Еще вариант, с простейшим видом регулярки .*?(?=&) и простой текстовой заменой, в 2 шага:

86951
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
еще универсальный вариант с неограниченным количеством искомых параметров
C#:
string url = "https://business.facebook.com/home/accounts?global_scope_id=&business_id=922227265094173";//исходная ссылка
string[] need_params = new string[]{"business_id"};//список интересующих нас параметров
string origin = url.Split('?')[0];//или любая другая ссылка, которой надо передать параметры их исходной ссылки

return origin += '?' + string.Join("&", url.Split('?')[1].Split('&').GroupBy(x=>x).ToDictionary(x=>x.First().Split('=')[0],x=>x.First().Split('=')[1]).Where(x=>need_params.Contains(x.Key)).Select(x=>string.Join("=", new[]{x.Key, x.Value})));
 
  • Спасибо
Реакции: Sergodjan

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