from the c# implementations of string.SubString(start,len) and string.Remove(start,len). Especially since negative indexing and exclusion are included in the LSL versions. This patch is closer to the LSL version. Maybe an osSubString and osRemoveString would be appropriate?