Fleshing this out a little more, I'm assuming that if the '2' exceeded the number of tokens in TEXT that it should move to be the final token.
And using -1 would move it to be the final position, -2 moves to be the next-to-last token, etc.
If STRING is not within TEXT, then it returns the unaltered string.