Prenez trois entrées, une chaîne de texte T,; une chaîne de caractères à remplacer F,; et une chaîne de caractères pour les remplacer par, R. Pour chaque sous-chaîne de Tavec les mêmes caractères (insensibles à la casse) que F, remplacez-les par les caractères dans R. Cependant, conservez la même casse que le texte d'origine.
S'il y a plus de caractères Rque F, les caractères supplémentaires doivent être dans le même cas que dans R. S'il y a des chiffres ou des symboles F, les caractères correspondants Rdoivent conserver la casse qu'ils contiennent R. Fn'apparaîtra pas nécessairement dans T.
Vous pouvez supposer que tout le texte sera dans la plage ASCII imprimable.
Exemples
"Text input", "text", "test" -> "Test input"
"tHiS Is a PiEcE oF tExT", "is", "abcde" -> "tHaBcde Abcde a PiEcE oF tExT"
"The birch canoe slid on the smooth planks", "o", " OH MY " -> "The birch can OH MY e slid OH MY n the sm OH MY OH MY th planks"
"The score was 10 to 5", "10", "tEn" -> "The score was tEn to 5"
"I wrote my code in Brain$#@!", "$#@!", "Friend" -> "I wrote my code in BrainFriend"
"This challenge was created by Andrew Piliser", "Andrew Piliser", "Martin Ender" -> "This challenge was created by Martin Ender"
// Has a match, but does not match case
"John does not know", "John Doe", "Jane Doe" -> "Jane does not know"
// No match
"Glue the sheet to the dark blue background", "Glue the sheet to the dark-blue background", "foo" -> "Glue the sheet to the dark blue background"
// Only take full matches
"aaa", "aa", "b" -> "ba"
// Apply matching once across the string as a whole, do not iterate on replaced text
"aaaa", "aa", "a" -> "aa"
"TeXT input", "text", "test" -> "TeST input"
"The birch canoe slid on the smooth planks", "o", " OH MY "si drôle, mais j'ai adoré cet exemple.
"TeXT input", "text", "test"