There are lots of tools to do something like this. I would start with SED.
The trick is to define the generic pattern you want to remove. I'm having trouble defining the pattern in any simple way.
Here is one example to get started:
sed 's/\^.*;//g' filename
This deletes all strings beginning with "^" and ending with ";"
Go here for a really good tutorial on SED:
http://www.grymoire.com/Unix/Sed.html