Are you doing some sort of data processing on the string or breaking it up?
If you need to get at portions of a string like that, either you "break off" the first part, and then the next one is just waiting for you, or else you use different delimiters, so that you can just dive into where you need.
You're making you life overly complex by trying to spool through that, like that.
If you have to leave it like this then what you can do is something like this:
Create a user defined function that takes the string, the delimiter, the start position in the string to look, and the instance index of the delimiter that you are after. such as the 3rd or 4th.
You will recursively call this function decrimenting the instance index, and incrementing the start point with each call, till you are at one and have the actual index, or else cannot find the string in which case you return nada.
let me know if you want psuedo code, it shouldn't be that bad.
-Sometimes the answer to your question is the hack that works