Remove repeated values in all tags

Some of my Tags have been corrupted and are repeated
eg
GENRE": "Blues;Blues",
"DATE": "2002;2002",
"ALBUM": "Greatest Blues - Golden Greats;Greatest Blues - Golden Greats Disc 1",

to clean then up i could remove everything prior to ';' but this will potentially delete useful data.
Is there a regular expression that will remove a whole string (delimited by leading start of line or ; and trailing ; ) and its trailing ; if that whole string appears later as a part of another string, starting from left hand side of string

eg remove
Greatest Blues - Golden Greats;
from
Greatest Blues - Golden Greats;Greatest Blues - Golden Greats Disc 1
to result in
Greatest Blues - Golden Greats Disc 1

and remove
1 of the "Blues;"
from
Something useful;Blues;Blues;somethingdifferent
to result in
Something useful;Blues;somethingdifferent

help with the regular expression and the subsequent action would be most appreciated.
thank you

It looks a s though some program could not cope with multi-value fields.
Anyway:
The problem for an easy approach is the example that there should be something useful which is not repeated.

The easy approach would be:
Replace with regular expression
Search string: .*;
Replace string:
(leave empty)
Deletes anything in front of a semicolon.

ty ohrenkino
will try this approach, and come back for more advice if there are some instances which need more sophistication. Potentially if i have some multi value tags i might delete some useful data, will tread carefully.