пусть S, aи bкаждый представляет собой строку
Цель: Написать стандартную строку заменить функцию , где вы заменить все вхождения aв строку Sс bтех пор , как aэто уже не часть экземпляраb
например, если у нас есть строка S=My oh my that there is a big ol' that
и мы хотели сделать фантазии заменить a = thatи b = that thereмы бы заменить каждый экземпляр thatс that thereтех пор , как экземпляр thatуже не является экземпляромthat there
Таким образом, в этом случае вывод будет: My oh my that there is a big ol' that there
Первый thatне заменяется, потому что он уже является частью экземпляраthat there
Примечания
Все 3 входа должны быть строками, содержащими только печатные символы ascii
Ввод может быть дан как 3 отдельные строки или список из 3 строк
Ввод будет в порядке
S,a,bесли иное не указано в ответеЧтобы
aсчитаться частьюb, все экземплярыaдолжны быть частью экземпляра.b
Объяснение некоторых угловых случаев
Input: ["1222", "22", "122"]
Output: "12122"
В приведенном выше примере последний 22заменяется. Даже если его часть является частью экземпляра b, его целостность НЕ является частью экземпляра b. Поскольку весь экземпляр aне является частью экземпляра, bон заменяется.
Input: ["123 ", "23", "12"]
Output: "112 "
Этот тестовый пример иллюстрирует тот же случай, что и выше, но, возможно, немного более наглядно. Опять же, 2посередине является как частью экземпляра, aтак и частью экземпляра b, однако, поскольку все aне является частью экземпляра, bон все равно заменяется.
Input: ["Empty", "", "p"]
Output: "pEpmptpyp"
В приведенном выше контрольном примере пустая строка до и после pне заменяется, поскольку она может рассматриваться как часть экземпляра p.
Другие тестовые случаи
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"
Это вопрос для Code-Golf, поэтому выигрывает самый короткий ответ в байтах.