lasciare S, ae brappresentano ciascuno una stringa
Obiettivo: Scrivere una stringa standard funzione di sostituire in cui la si sostituisce tutte le occorrenze di auna stringa Scon bfintanto che anon sia già parte di un'istanza dib
per esempio, se abbiamo la stringa S=My oh my that there is a big ol' that
e volevamo fare una sostituzione sostanziosa a = that e b = that therevorremmo sostituire ogni istanza di thatcon that therefintanto che l'istanza di thatnon è già un esempio dithat there
Quindi in questo caso l'output sarebbe: My oh my that there is a big ol' that there
Il primo thatnon viene sostituito perché fa già parte di un'istanza dithat there
Appunti
Tutti e 3 gli input devono essere stringhe contenenti solo caratteri ASCII stampabili
L'input può essere dato come 3 stringhe separate o un elenco di 3 stringhe
Ingresso sarà nell'ordine
S,a,bse non diversamente specificato nella rispostaPer
aessere considerato parte dib, tutte le istanze diadevono essere parte di un'istanzab
Alcuni casi angolari hanno spiegato
Input: ["1222", "22", "122"]
Output: "12122"
Nel caso sopra riportato, quest'ultimo 22viene sostituito. Anche se parte di essa fa parte di un'istanza di b, la totalità di essa NON fa parte dell'istanza di b. Poiché l'intera istanza di anon fa parte di un'istanza b, viene sostituita.
Input: ["123 ", "23", "12"]
Output: "112 "
Questo caso di prova illustra lo stesso caso di cui sopra, ma forse in un modo leggermente più chiaro. Anche in questo caso la 2parte centrale è parte di un'istanza ae parte di un'istanza b, tuttavia poiché tutto anon fa parte dell'istanza b, viene comunque sostituito.
Input: ["Empty", "", "p"]
Output: "pEpmptpyp"
Nel caso di test sopra riportato, sia la stringa vuota prima che quella successiva pnon vengono sostituite in quanto possono essere interamente considerate parte dell'istanza dip .
Altri casi di 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"
Questa è una domanda per il code-golf, quindi vince la risposta più breve in byte.