Еще один способ нарезки, используя str.index
, чтобы найти расположение начального и конечного разделителей.Как только вы получите фрагмент Python, вы можете просто сделать это как индекс в списке, за исключением того, что этот фрагмент дает не просто один символ, а диапазон символов от начала до конца.
def make_slice(s, first, second):
floc = s.index(first)
sloc = s.index(second, floc)
# return a Python slice that will extract the contents between the first
# and second delimiters
return slice(floc+1, sloc)
txt = 'foo[bar]'
slc = make_slice(txt, '[', ']')
print(txt[slc])
Отпечатки:
bar