I think nobody tries to be nasty. However I little generalized and gave up using find in my old multisearch. I think this parsing could be useful start.

inp=['2x+x','2x-1y+3x+2']
def multis(s,text,start=0):
x=''
for ch in text[start:]:
if ch in s:
if x: yield (x,ch)
else: yield ch
x=''
else:
x+=ch
else:
if x: yield x
for formula in inp:
print formula
print list(multis('+-xy',formula)) ## replace with 'for <var> in multis...' and your analysis

So I am having trouble knowing what to return in the bottom method any help would be appreciated .
Here are the specifications for completing the StringArray class: