# picking up piece of string between separators
## function using partition, like partition
def between(left,right,s):
    before,_,a = s.partition(left)
    a,_,after = a.partition(right)
    return before,a,after

s = "bla bla blaa <a>data</a> lsdjfasdjöf (important notice) 'Daniweb forum' tcha tcha tchaa"
print between('<a>','</a>',s)
print between('(',')',s)
print between("'","'",s)
""" Output:
('bla bla blaa ', 'data', " lsdjfasdj\xc3\xb6f (important notice) 'Daniweb forum' tcha tcha tchaa")
('bla bla blaa <a>data</a> lsdjfasdj\xc3\xb6f ', 'important notice', " 'Daniweb forum' tcha tcha tchaa")
('bla bla blaa <a>data</a> lsdjfasdj\xc3\xb6f (important notice) ', 'Daniweb forum', ' tcha tcha tchaa')

IT/Science/Contracts/Religious translation/interpreting FIN-ENG-FIN
Python programming

If the left tag is not found, second and third part of tuple are '', all input string is as first part of tuple returned.

If left tag is found but right not, result has after part (third part of tuple) '', and rest of string is all in second part.

The article starter has earned a lot of community kudos, and such articles offer a bounty for quality replies.