3.7 KiB
3.7 KiB
id | title | localeTitle | isRequired | challengeType |
---|---|---|---|---|
a0b5010f579e69b815e7c5d6 | Search and Replace | Buscar y reemplazar | true | 5 |
Description
Conserve el caso del primer carácter en la palabra original cuando lo reemplace. Por ejemplo, si quiere reemplazar la palabra "Libro" con la palabra "perro", debe ser reemplazada como "Perro" Recuerde usar Lectura-Búsqueda-Preguntar si se atasca. Trate de emparejar el programa. Escribe tu propio código.
Instructions
Tests
tests:
- text: ' <code>myReplace("Let us go to the store", "store", "mall")</code> debe devolver "Vamos <code>myReplace("Let us go to the store", "store", "mall")</code> ".'
testString: 'assert.deepEqual(myReplace("Let us go to the store", "store", "mall"), "Let us go to the mall", "<code>myReplace("Let us go to the store", "store", "mall")</code> should return "Let us go to the mall".");'
- text: ' <code>myReplace("He is Sleeping on the couch", "Sleeping", "sitting")</code> debe devolver "Está sentado en el sofá".
testString: 'assert.deepEqual(myReplace("He is Sleeping on the couch", "Sleeping", "sitting"), "He is Sitting on the couch", "<code>myReplace("He is Sleeping on the couch", "Sleeping", "sitting")</code> should return "He is Sitting on the couch".");'
- text: ' <code>myReplace("This has a spellngi error", "spellngi", "spelling")</code> debe devolver "Esto tiene un error de ortografía".'
testString: 'assert.deepEqual(myReplace("This has a spellngi error", "spellngi", "spelling"), "This has a spelling error", "<code>myReplace("This has a spellngi error", "spellngi", "spelling")</code> should return "This has a spelling error".");'
- text: ' <code>myReplace("His name is Tom", "Tom", "john")</code> debe devolver "Su nombre es John".
testString: 'assert.deepEqual(myReplace("His name is Tom", "Tom", "john"), "His name is John", "<code>myReplace("His name is Tom", "Tom", "john")</code> should return "His name is John".");'
- text: ' <code>myReplace("Let us get back to more Coding", "Coding", "algorithms")</code> debería devolver "Regresemos a más Algoritmos".
testString: 'assert.deepEqual(myReplace("Let us get back to more Coding", "Coding", "algorithms"), "Let us get back to more Algorithms", "<code>myReplace("Let us get back to more Coding", "Coding", "algorithms")</code> should return "Let us get back to more Algorithms".");'
Challenge Seed
function myReplace(str, before, after) {
return str;
}
myReplace("A quick brown fox jumped over the lazy dog", "jumped", "leaped");
Solution
function myReplace(str, before, after) {
if (before.charAt(0) === before.charAt(0).toUpperCase()) {
after = after.charAt(0).toUpperCase() + after.substring(1);
} else {
after = after.charAt(0).toLowerCase() + after.substring(1);
}
return str.replace(before, after);
}