Как удалить ссылку из текста в python?
Пытаюсь удалить ссылки, используя регулярные выражения. Проблема в том, что моя регулярка отрезает не только ссылку, но и беспробельную часть после неё (которую я хочу оставить).
Регулярное выражение:
re.sub(r"http://\S+|https://\S+", "", text)
Пример:
"https://vk.com/wall505680146_2821,id505680146,социальные сети"
" сети,
Ответы (2 шт):
Автор решения: gil9red
→ Ссылка
Регулярки тут не нужны:
url = "https://vk.com/wall505680146_2821,id505680146,социальные сети"
print(url.split(',')[-1])
Автор решения: Wiktor Stribiżew
→ Ссылка
Используйте
import re
s = "https://vk.com/wall505680146_2821,id505680146,социальные сети"
print( re.sub(r"https?://[^,\s]+,?", "", s) )
# => id505680146,социальные сети
См. пример работы кода и регулярного выражения.
https?://[^,\s]+,? находит
https?://-http://илиhttps://[^,\s]+- один и более символов, отличных от пробельных символов и запятой,?- необязательная запятая.