Использование str.find
/str.rfind
:
def pick1(string, first, last):
i = string.find(first)
if i < 0: return ''
j = string.find(last, i+1)
if j < 0: return ''
return string[i:j+1]
def pick2(string, first, last):
i = string.find(first)
if i < 0: return ''
j = string.rfind(last, i+1)
if j < 0: return ''
return string[i:j+1]
>>> pick1('@Al#ex$', 'A', 'x')
'Al#ex'
>>> pick2('@Al#ex$', 'A', 'x')
'Al#ex'
>>>
>>> pick1('@xl#eA$', 'A', 'x')
''
>>> pick2('@xl#eA$', 'A', 'x')
''
>>>
>>> pick1('[email protected]#ex$', 'A', 'x')
'Al#ex'
>>> pick2('[email protected]#ex$', 'A', 'x')
'Al#ex'
>>>
>>> pick1('[email protected]#ex$x', 'A', 'x')
'Al#ex'
>>> pick2('[email protected]#ex$x', 'A', 'x')
'Al#ex$x'
'finalString = строка [1: 5]'? 'Л = Len (строка); finalString = string [1: l-2] '? – twalberg