ให้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"
ในกรณีที่การทดสอบดังกล่าวข้างต้นทั้งสตริงว่างก่อนและหลังจะไม่ได้ถูกแทนที่เป็นเครือได้รับการพิจารณาเป็นส่วนหนึ่งของอินสแตนซ์ของpp
กรณีทดสอบอื่น ๆ
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 ดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ