That looks like
VT100 escape codes (but I could be wrong, it's been a while since I needed to know things like this :)).
Get a VT100 ANSI parser library and feed the string to that, I'd try using the
libvt100 C# library[
^], it as an easy to use parse interface.
Or if you've got way too much time on your hands, hand-roll your own implementation according to a
VT100 and VT52 escape codes chart[
^].
Hope this helps,
Fredrik