With all the string explosion and processing happening in this method I'm wondering if just parsing the string with a regular expression capturing the required bits wouldn't be more efficient.

What's the format of the string being processed?