Here's how I'd do it:
> to remove everything before "shave"
Code: Select all
Procedure.s CropBefore(string$,what$)
ProcedureReturn Mid(string$,FindString(string$,what$,1),99999)
EndProcedure
Debug CropBefore("aftershave","shave") ; Returns "shave"
> to remove everything after "after"
Code: Select all
Procedure.s CropAfter(string$,what$)
ProcedureReturn Mid(string$,Len(what$)+FindString(string$,what$,1),99999)
EndProcedure
Debug CropAfter("aftershave","after") ; Returns "shave"
(@Fred: The above shows why Mid would be nice without having to specify
a length parameter... because right now we need to use something large
like 99999 to get the rest of the string).