Reemplazar caracteres dentro de una cadena con javascript
Para reemplazar caracteres dentro de una cadena de texto con javascript se utiliza la función replace.
Sin embargo por defecto la función replace unicamente va a eliminar la primer ocurrencia del string buscado a menos que se especifique que se deben eliminar todas las ocurrencias del mismo.
Ejemplo:
En este caso se intenta reemplazar todas las ocurrencias del texto abc por un espacio en blanco. Lo primero que hacemos es un replace simple sin embargo esto sólo eliminará la primer ocurrencia del string buscado.
var str = "abc1, abc2, abc3, abc4 y abc5";
str=str.replace("abc"," ");
//str = " 1, abc2, abc3, abc4 y abc5";
Por lo tanto hay que especificar que se quieren eliminar todas las ocurrencias dentro de la cadena. Para esto se debe especificar lo siguiente:
var str = "abc1, abc2, abc3, abc4 y abc5";
str=str.replace(/abc/g," ");
//str = " 1, 2, 3, 4 y 5";
La letra g indica un replace global por lo que todas las coincidencias son reemplazadas. Se puede especificar también gi en caso de que se quiere hacer un replace global sin importar mayúsculas ni minúsculas.
Esto sería útil para casos como el siguiente en el que se quiere reemplazar todas las coincidencias de abc dentro de la cadena independientemente de si está en mayúsculas o minúsculas.
var str = "abc1, ABC2, Abc3, aBc4 y abC5";
str=str.replace(/abc/gi," ");
//str = " 1, 2, 3, 4 y 5";
El otro caso es para cuando quieres reemplazar todos los caracteres contenidos en una variable dentro de una cadena.
Dado que las instrucciones anteriores se colocan entre diagonales en el replace, no se pueden poner variables directamente en el replace por lo que debes hacer lo siguiente:
Ejemplo
var str = "abc1, abc2, abc3, abc4 y abc5";
var buscar="abc"
str=str.replace(new RegExp(buscar,"g") ," ");
//str = " 1, 2, 3, 4 y 5";
Espero les sirva.
me sirvio amigo
ResponderBorrarExcelente!!
BorrarMuchas gracias amigo me sirvío mucho, muy utíl!
ResponderBorrarBenissimo Santiago!
BorrarEste comentario ha sido eliminado por el autor.
ResponderBorrarMuchas gracias, Era justo lo que buscaba.
ResponderBorrarExcelente!! No olvides compartirlo :)
BorrarMuchas gracias, fue de mucha ayuda!
ResponderBorrarNo olvides compartirlo :)
BorrarHero sin capa
ResponderBorrarte saludan los desarroladores :D
:D Excelente, no olvides compartirlo!
BorrarGracias, me sirvió mucho para remplazar todas las palabras con una variable :D ♥
ResponderBorrarSúper! No olvides compartirlo :)
BorrarMuchas gracias, muy bien explicado.
ResponderBorrarGracias! No olvides compartirlo :)
Borrar¡Justo lo que buscaba! Mil gracias.
ResponderBorrarExcelente. No olvides compartirlo :)
Borrarhola muy bueno el ejemplo, pero ahora si quiero hacer el reemplazo de varios caracteres , mar%5o gonzal%2z r%5o
ResponderBorrarsiguiendo el ejemplo:
var str = "mar%5o gonzal%2z r%5o";
str=str.replace(/%5/g,"i");
//str = " mario gonzal%2z rio";
pero %2 como lo reemplazo en la misma cadena?? o tendría que anidar el "replace"?
Desde ya Gracias
Hola. Puedes anidar o repetir el replace.
Borrarvar str = "mar%5o gonzal%2z r%5o";
str=str.replace(/%5/g,"i");
str=str.replace(/%2/g,"e");
//str = " mario gonzalez rio";
quiero cambiar las letras de un texto es decir
ResponderBorrar"Hola amigos"
reemplazarla por otras letras
tengo esto:
textoc=document.getElementById("texto").value.replace(/a/gi,"b").replace(/b/gi,"c");
pero al reemplazar la letra "a" me pone la "c" puesto que cambio por "b" yluego la "b" a "c"
Hola Vangel :) Lo que pasa que va ejecutando el replace de izquierda a derecha por eso termina con c: a>b>c
Borrartextoc=document.getElementById("texto").value.replace(/b/gi,"b").replace(/a/gi,"b");
ResponderBorrarexcelente me sirvio, pro como hacer para eliminar un enter de una cadena?
ResponderBorrarExcelente, muchas gracias
ResponderBorrarHola Martin. Si quisiera reemplazar Ciudadela de Menorca por solo Menorca cómo haría?
ResponderBorrarHola Gaz. Puedes intentar esto:
Borrarvar str = "Ciudadela de Menorca";
str=str.replace("Ciudadela de Menorca","Menorca");
Excelente información me sirvió mucho, gracias y sigue compartiendo tu talento, saludos.
ResponderBorrarGracias si me sirvio mucho, vas al grano
ResponderBorrarQue bien! No olvides compartirlo :)
BorrarGracias, me ha servido demasiado!
ResponderBorrarNo olvides compartirlo :)
BorrarMuchas gracias, me sirvió muchísimo.
ResponderBorrarNo olvides compartirlo Camila
BorrarPerfecto, gracias por compartir tus conocimientos
ResponderBorrarGracias Kevin. No olvides compartirlo :)
Borrar2022, y sigue dando fuerte jejeje, muchas gracias, larga vida a Javascript
ResponderBorrarY seguirá dando por un buen rato. No olvides compartirlo :)
BorrarMuchas gracias por su tiempo @Martin Hernandez, ahora tengo un inconveniente, quiero reemplazar el texto de una posición de un string, en una hora militar que es pm, debo sumarle 12 horas, es decir si la hora recibida es (11:00:00p.m) debo sumarle a 11 12, para que me de el resultado en formato de 24 horas (23:00:00).
ResponderBorrarMuchísimas gracias!!! Es justo lo que buscaba!
ResponderBorrar