如何获取此字符串的子字符串Python3

时间:2019-12-20 12:48:17

标签: python-3.x

字符串:

ecsdcsdcsdfvdfv":"https://scdsscdcsdent-mxp1-1.cdninstdscsdcagdssdcsdam.com/v/t51.283485-19/s320x320/79000872_1455436197941341_7513464347075543040_n.pnk?_nc_ht=scontent-mxp1-1.cdninadcdcdm.codcsdcm&_nc_ohc=0fehqjedb48AX8r72Hi&oh=eb1f6a78a2dcd67e443aa7f74eee91b4&oe=5E7F0A0C","vsvdfvsfvcfvfdcvfd
我想要得到的

子字符串:

https://scdsscdcsdent-mxp1-1.cdninstdscsdcagdssdcsdam.com/v/t51.283485-19/s320x320/79000872_1455436197941341_7513464347075543040_n.pnk?_nc_ht=scontent-mxp1-1.cdninadcdcdm.codcsdcm&_nc_ohc=0fehqjedb48AX8r72Hi&oh=eb1f6a78a2dcd67e443aa7f74eee91b4&oe=5E7F0A0C

我尝试了这个但没用

print (log.split("ecsdcsdcsdfvdfv",1)[1]) 

3 个答案:

答案 0 :(得分:3)

您可以尝试

log.split('":"')[1].split('","')[0]

但这不是完成您要实现的目标的最佳方法。更好地解析它并得到您想要的。

答案 1 :(得分:2)

这将产生预期的结果。

您使用 code: html: <div class="panel panel-info"> <div class="panel-heading collapsed" data-toggle="collapse" data-target="#bar"> <i class="fa fa-fw fa-chevron-up"></i> <i class="fa fa-fw fa-chevron-down"></i>Keywords </div> <div class="panel-body"> <div class="collapse" id="bar"> <ul> <li><button onclick="myFunction()">+ Add Keyword</button></li> <li> <div id="myDIV"> <form>Keyword<br/><br> <input type="text" value="" id="keywordname" name="name"> </input> </form> <button onclick="saveFunction2()">Save </button> </div> </li> </ul> </div> </div> </div> <div class="panel panel-info"> <div class="panel-heading collapsed" data-toggle="collapse" data-target="#bar"> <i class="fa fa-fw fa-chevron-up"></i> <i class="fa fa-fw fa-chevron-down"></i>others </div> <div class="panel-body"> <!-- The inside div eliminates the 'jumping' animation. --> <div class="collapse" id="bar"> <button onclick="myFunction()">+ Add Keyword</button> </div> </div> </div> CSS: .panel-heading.collapsed .fa-chevron-up, .panel-heading .fa-chevron-down { display: none; } .panel-heading.collapsed .fa-chevron-down, .panel-heading .fa-chevron-up { display: inline-block; } i.fa { cursor: pointer; margin-right: 5px; } .collapsed ~ .panel-body { padding: 0; } ul, li { list-style: none; margin: 0; padding: 0; } ul { padding-left: 1em; } li { padding-left: 1em; border: 1px dotted black; border-width: 0 0 1px 1px; } li.container { border-bottom: 0px; } li.empty { font-style: italic; color: silver; border-color: silver; } li p { margin: 0; background: white; position: relative; top: 0.5em; } li ul { border-top: 1px dotted black; margin-left: -1em; padding-left: 2em; } ul li:last-child ul { border-left: 1px solid white; margin-left: -17px; } #myDIV { width: 100%; padding: 50px 0; text-align: left; background-color: white; margin-top: 20px; } 的方式是错误的,您没有包含.split()字符。

"

答案 2 :(得分:1)

如果要获取":"","之间的字符串,则可以使用正则表达式来实现。

re.match('(.*\":\")([^\",\"]*)(\",\".*)', log).group(2)

提供您的输入

'ecsdcsdcsdfvdfv":"https://scdsscdcsdent-mxp1-1.cdninstdscsdcagdssdcsdam.com/v/t51.283485-19/s320x320/79000872_1455436197941341_7513464347075543040_n.pnk?_nc_ht=scontent-mxp1-1.cdninadcdcdm.codcsdcm&_nc_ohc=0fehqjedb48AX8r72Hi&oh=eb1f6a78a2dcd67e443aa7f74eee91b4&oe=5E7F0A0C","vsvdfvsfvcfvfdcvfd'

你会得到

'https://scdsscdcsdent-mxp1-1.cdninstdscsdcagdssdcsdam.com/v/t51.283485-19/s320x320/79000872_1455436197941341_7513464347075543040_n.pnk?_nc_ht=scontent-mxp1-1.cdninadcdcdm.codcsdcm&_nc_ohc=0fehqjedb48AX8r72Hi&oh=eb1f6a78a2dcd67e443aa7f74eee91b4&oe=5E7F0A0C'

如果您输入类似

'ecsdcsdcs":"dfvdfv":"https://s...F0A0C","vsvdfvsfvcfvfdc","vfd'

你会得到

'https://s...F0A0C'

别忘了import re