如何在字符串中反向搜索以获取索引?

2024-09-30 08:29:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的字符串,并希望提取具有645w分辨率的链接。你知道吗

"//i.guim.co.uk/img/media/d126680aca92ff4251536f788b60233b5463af89/1585_707_3685_2210/3685.jpg?w=620&q=85&auto=format&sharp=10&s=ed7be5af3592322971e9e2276b5338f8 620w,

//i.guim.co.uk/img/media/d126680aca92ff4251536f788b60233b5463af89/1585_707_3685_2210/3685.jpg?w=700&q=85&auto=format&sharp=10&s=d49ff60c0c561cb2eee8d119acba62c5 700w,

//i.guim.co.uk/img/media/d126680aca92ff4251536f788b60233b5463af89/1585_707_3685_2210/3685.jpg?w=645&q=85&auto=format&sharp=10&s=19e251fb9bd21787e8364c091e4a89ce 645w,

//i.guim.co.uk/img/media/d126680aca92ff4251536f788b60233b5463af89/1585_707_3685_2210/3685.jpg?w=465&q=85&auto=format&sharp=10&s=fd5d66ed602638295446f28c4853744d 465w"

位置不总是一样的,所以我想用这样的方法:

if ' 645w' in src:
    index = src.find(" 645w")
    end_of_url = src[:index]

我现在如何反向搜索,直到找到url的开头并获得开始索引//?你知道吗

预期输出为:

//i.guim.co.uk/img/media/d126680aca92ff4251536f788b60233b5463af89/1585_707_3685_2210/3685.jpg?w=645&q=85&auto=format&sharp=10&s=19e251fb9bd21787e8364c091e4a89ce

Tags: 字符串srcformaturlimgautoindexmedia
3条回答

你可以用x[::-1]打开str。如果您在转换字符串中搜索转换模式,您将按所需顺序找到引用。只需记住在使用索引值之前转换它们。你知道吗

您可以按“,”拆分,并在每个字符串上搜索645w。你知道吗

示例:

  >>> links = "a 620w, b 700w, c 645w, d 456w";
  >>> linksArray = links.split(",");
  >>> for link in linksArray:
  ...     index = link.find("645w");
  ...     if index > -1:
  ...         print(link[:index]);
  // out : " c "

你需要适应多一点,但我更喜欢保持友好的东西比反向搜索和削减。你知道吗

可以使用string.rfind()函数,它按相反的顺序搜索字符串。你知道吗

示例-

>>> if ' 645w' in src:
...     index = src.find(' 645w')
...     end_of_url = src[:index]
...     print(end_of_url[end_of_url.rfind('//'):])
...
//i.guim.co.uk/img/media/d126680aca92ff4251536f788b60233b5463af89/1585_707_3685_2210/3685.jpg?w=645&q=85&auto=format&sharp=10&s=19e251fb9bd21787e8364c091e4a89ce

相关问题 更多 >

    热门问题