let S, ae bcada um representa uma string
Objetivo: Escreve uma string padrão de função de substituir onde o que você substituir todas as ocorrências aem uma string Scom bcontanto que ajá não faz parte de uma instância deb
por exemplo, se tivermos a string S=My oh my that there is a big ol' that
e queríamos fazer uma substituição sofisticada por a = that e b = that thereque iria substituir cada instância de thatcom that thereo tempo que a instância do thatnão é já um exemplo dethat there
Portanto, nesse caso, a saída seria: My oh my that there is a big ol' that there
O primeiro thatnão é substituído porque já faz parte de uma instância dethat there
Notas
Todas as 3 entradas devem ser cadeias contendo apenas caracteres ascii imprimíveis
A entrada pode ser fornecida como três cadeias de caracteres separadas ou uma lista de três cadeias de caracteres
Entrada será na ordem
S,a,bsalvo disposição em contrário, a respostaPara
aser considerada parte deb, toda a instância deadeve fazer parte de uma instânciab
Alguns casos de canto explicados
Input: ["1222", "22", "122"]
Output: "12122"
No exemplo acima, o último 22é substituído. Mesmo que parte dela faça parte de uma instância de b, a totalidade NÃO é parte da instância de b. Como a instância inteira de anão faz parte de uma instância, bela é substituída.
Input: ["123 ", "23", "12"]
Output: "112 "
Este caso de teste ilustra o mesmo caso acima, mas talvez de uma maneira um pouco mais clara. Novamente 2, o meio é parte de uma instância de a, bem como parte de uma instância de b, no entanto, como anem tudo é parte da instância, bele ainda é substituído.
Input: ["Empty", "", "p"]
Output: "pEpmptpyp"
No caso de teste acima, a cadeia vazia antes e depois da pnão é substituída, pois pode ser totalmente considerada parte da instância de p.
Outros casos de teste
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 é uma pergunta para o código-golfe, de modo que a resposta mais curta em bytes vence.