deje S, ayb cada uno representa una cadena
Objetivo: Escribir una cadena estándar de la función de reemplazar en el que se reemplaza todas las apariciones de auna cadena Scon btanto tiempo comoa no es ya parte de una instancia deb
por ejemplo, si tenemos la cadena S =My oh my that there is a big ol' that
y queríamos hacer un reemplazo elegante con a = thaty b = that therereemplazaríamos cada instancia de thatcon that theretal que la instancia de thatno sea ya una instancia dethat there
Entonces, en este caso, la salida sería: My oh my that there is a big ol' that there
El primero thatno se reemplaza porque ya es parte de una instancia dethat there
Notas
Las 3 entradas deben ser cadenas que contengan solo caracteres ascii imprimibles
La entrada se puede dar como 3 cadenas separadas o una lista de 3 cadenas
De entrada estará en el orden
S,a,bsalvo que se especifique lo contrario en la respuestaPara
aser considerado parte deb, toda la instancia deadebe ser parte de una instanciab
Algunos casos de esquina explicados
Input: ["1222", "22", "122"]
Output: "12122"
En el caso anterior, este último 22se reemplaza. Aunque parte de ella es parte de una instancia de b, la totalidad NO es parte de la instancia de b. Como toda la instancia de ano es parte de una instancia b, se reemplaza.
Input: ["123 ", "23", "12"]
Output: "112 "
Este caso de prueba ilustra el mismo caso anterior pero quizás de una manera un poco más clara. Nuevamente, el 2en el medio es parte de una instancia a, así como parte de una instancia de b, sin embargo, dado que todo ano es parte de la instancia b, todavía se reemplaza.
Input: ["Empty", "", "p"]
Output: "pEpmptpyp"
En el caso de prueba anterior, tanto la cadena vacía antes como después pno se reemplazan, ya que pueden considerarse completamente parte de la instancia de p.
Otros casos de prueba
Input: ["aabbaa", "aa", "aabb"]
Output: "aabbaabb"
Input: ["Hello World!", "o", " no"]
Output: "Hell no W norld!"
Input: ["Wow, oh wow, seriously WOW that's... wow", "wow", "WOW,"]
Output: "Wow, oh WOW,, seriously WOW that's... WOW,"
Input: ["Empty", "", "b"]
Output: "bEbmbpbtbyb"
Input: ["Empty", "b", "br"]
Output: "Empty"
Input: ["Empty", "pty", "Empty"]
Output: "Empty"
Input: ["aabbaaa", "aa", "PP"]
Output: "PPbbPPa"
Input: ["121212","1","121"]
Output: "121212"
Esta es una pregunta para code-golf, por lo que gana la respuesta más corta en bytes.