Как разбить строку сразу по нескольким разделителям?
import re
s = input().split()
print(re.split('?|&',s))
Не получается таким образом, выводит кучу непонятных ошибок.
Нужно разбить строку по знакам: ? или &
Для примера подается какая то URL строка:
https://yandex.ru/images/search?text=котики&source=images_drawing
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Пример:
In [84]: re.split(r"[?&]", url)
Out[84]: ['https://yandex.ru/images/search', 'text=котики', 'source=images_drawing']
но лучше все-таки использовать urllib.parse:
In [85]: from urllib.parse import urlparse, parse_qs, parse_qsl
In [86]: parse_qs(urlparse(url).query)
Out[86]: {'text': ['котики'], 'source': ['images_drawing']}
In [89]: parse_qsl(urlparse(url).query)
Out[89]: [('text', 'котики'), ('source', 'images_drawing')]