@twentyz

Парсинг ссылок на людей в постах вк?

Здравствуйте. Разбираю посты в ВК, если в тексте поста есть ссылка на человека из вк (@username), то она приходит в виде [userid|username].
Помогите пожалуйста привести все такие ссылки в тексте к виду
<a href='https://vk.com/userid'>username</a>
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 2
datka
@datka
Регулярными выражениями.

Или вот так. как в каменном веке
string= "[12344554788|John Doe]"
users = string.replace('[','').replace(']','').split('|')
print("<a href='https://vk.com/"+users[0]+"'>"+users[1]+"</a>")
Ответ написан
@o5a
Можно напрямую использовать re.sub с передачей функции замены (можно использовать lambda). Пример:
import re

txt = "первый юзер: [12344554788|John Doe] второй юзер: [09876654|Jane Doe] и остальные"

rc = re.compile("\[(.*?)\|(.*?)\]")

result = rc.sub(lambda x: "<a href='https://vk.com/"+x.group(1)+"'>"+x.group(2)+"</a>", txt)
print(result)

Выдаст:
первый юзер: <a href='https://vk.com/12344554788'>John Doe</a> второй юзер: <a href='https://vk.com/09876654'>Jane Doe</a> и остальные
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
deeplay Новосибирск
от 130 000 ₽
Enjoy PRO Санкт-Петербург
от 140 000 до 180 000 ₽
от 130 000 ₽
23 окт. 2020, в 11:53
240000 руб./за проект
23 окт. 2020, в 11:50
3000 руб./за проект
23 окт. 2020, в 11:48
3000 руб./за проект