Scusa, ma non ha senso pensare ad una sostituzione di questo tipo senza suddividere in modo forzato le lettere a gruppi delle stesse dimensioni (ad esempio, 2 caratteri per ogni elemento da sostituire).

Se hai una stringa come ababababababababab e tu definisci due sequenze, ab e ba da sostituire, senza attribuire a queste una precedenza, sostituendo prima una e poi l'altra o viceversa avrai comunque una situazione errata, perché nel sostituire ab elimini tutte le sequenze ba, e viceversa accade il contrario.

Spiega cosa intendi fare con precisione, perché esemplificando in questo modo senza avere un caso reale e senza comprendere qual è il motivo per cui queste sostituzioni devono essere fatte non c'è la possibilità di suggerire alcuna soluzione valida.