laissez S, aet bchacun représente une chaîne
Objectif: écrire une fonction de remplacement de chaîne standard dans laquelle vous remplacez toutes les occurrences d' aune chaîne Spar btant qu'elle ane fait pas déjà partie d'une instance deb
par exemple, si nous avons la chaîne S=My oh my that there is a big ol' that
et nous voulions faire un remplacement de fantaisie avec a = thatet b = that therenous remplacerions chaque instance de thatavec that theretant que l'instance de thatn'est pas déjà une instance dethat there
Donc, dans ce cas, la sortie serait: My oh my that there is a big ol' that there
Le premier thatn'est pas remplacé car il fait déjà partie d'une instance dethat there
Remarques
Les 3 entrées doivent être des chaînes contenant uniquement des caractères ascii imprimables
L'entrée peut être donnée sous la forme de 3 chaînes distinctes ou d'une liste de 3 chaînes
Entrée sera dans l'ordre
S,a,bsauf indication contraire dans la réponsePour
aêtre considéré comme faisant partie deb, toutes les instances deadoivent faire partie d'une instanceb
Quelques exemples de cas expliqués
Input: ["1222", "22", "122"]
Output: "12122"
Dans l'exemple ci-dessus, ce dernier 22est remplacé. Même si une partie de celui-ci fait partie d'une instance de b, l'intégralité de celui-ci NE fait PAS partie de l'instance de b. Puisque l'instance entière de ane fait pas partie d'une instance, belle est remplacée.
Input: ["123 ", "23", "12"]
Output: "112 "
Ce cas de test illustre le même cas que ci-dessus mais peut-être d'une manière un peu plus claire. Encore une fois, le 2milieu fait à la fois partie d'une instance de aainsi qu'une partie d'une instance de b, cependant, puisque tout ane fait pas partie de l'instance, bil est toujours remplacé.
Input: ["Empty", "", "p"]
Output: "pEpmptpyp"
Dans le cas de test ci-dessus, la chaîne vide avant et après le pn'est pas remplacée car la chaîne peut être considérée comme faisant entièrement partie de l'instance de p.
Autres cas de test
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"
C'est une question pour code-golf donc la réponse la plus courte en octets l'emporte.