I really need some help with following string:

M1;, Bedfordshire, Flitwick, M1; 12, A5120;

What I ideally want is for the string to look like:

M1, Bedfordshire, Flitwick, M1 - Junction 12, A5120

So basically I need to match the string part: M1; 12 and turn it into M1 - Junction 12 and then match any remaining semi-colon and delete it.

Please help as I have spent a couple of days scratching my head on this one.