нехай 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"
Це питання для коду-гольфу, тому найкоротша відповідь у байтах виграє.