++! That's amazingly cool code. I love one-liners like that. In my specific situation, I don't need the START/STOP markers removed, and I can't imagine a senario where the data string would contain nested labels, however... I'm still curious. How would the nested labels version look?

(Note that I did spend some time trying to figure this out for myself so I could at least post a few bits of code here for others to revise, but I've failed to figure out even the basic theory without going into many, many lines of basic code.)