Python итерация, replace () и strip () - PullRequest
       37

Python итерация, replace () и strip ()

0 голосов
/ 08 апреля 2020

Так просто, как я могу это сделать:

Я написал python скрипт для извлечения ссылок для вставки из API. Я могу легко вернуть список ссылок для вставки, подобных этому:

[<embed>www.example.com/embed/4657889</embed>, <embed>www.example1.com/embed/789465/</embed>, <embed>www.example2.com/embed/132456/</embed>]

Но я хотел бы сделать следующее: взять этот возвращенный список и заменить каждый <embed> на <embed src=" а также заменить каждый </embed> на ">, в конечном итоге создавая новый список, который выглядит следующим образом:

[<embed src="www.example.com/embed/4567889/>, <embed src="www.example1.com/embed/789456/>, <embed src="www.example.com/embed/123456/>]

Но, как вы можете видеть, слово «вставлять» также в самом URL, поэтому я должен убедиться, что не коснулся этого слова. Я пытался заменить (), trip (), для l oop, все без удачи. У кого-нибудь есть идеи, как я могу это реализовать? Спасибо заранее и надеюсь, что все остаются здоровы!

1 Ответ

0 голосов
/ 08 апреля 2020

Используйте регулярное выражение

import re

lst = ["<embed>www.example.com/embed/4657889</embed>",
      "<embed>www.example1.com/embed/789465/</embed>",
      "<embed>www.example2.com/embed/132456/</embed>"]

rx = re.compile(r'<embed>(.+?)</embed>')

new_lst = [rx.sub(r'<embed src="\1">', item) for item in lst]
print(new_lst)

Что дает

['<embed src="www.example.com/embed/4657889">', '<embed src="www.example1.com/embed/789465/">', '<embed src="www.example2.com/embed/132456/">']
...