Python 3, 11993 byte
def f(s,m,p): m,p=m.replace('-','').split()s,p.replace('+'m,'').split()p=s for n,o in zip(m.split(),p.split()):s=s.replace(nn[1:],oo[1:]);return return s Input is a list with strings, replacement strings are space separated.
Example input: ['mississippi','-is -i','+iz +p']