¿Cómo puedo eliminar un carácter de una cadena utilizando Javascript?
Estoy muy cerca de conseguir esto, pero simplemente no está bien.
Todo lo que me gustaría hacer es eliminar el carácter r
de una cadena.
El problema es que hay más de una instancia de r
en la cadena.
Sin embargo, siempre es el carácter en el índice 4 (por lo que el quinto carácter).
Ejemplo de cadena: crt/r2002_2
Lo que quiero: crt/2002_2
.
Esta función de sustitución elimina tanto r
como
mystring.replace(/r/g, '')
Produce: ct/2002_2
He probado esta función:
String.prototype.replaceAt = function (index, char) {
return this.substr(0, index) + char + this.substr(index + char.length);
}
mystring.replaceAt(4, '')
Sólo funciona si lo sustituyo por otro carácter. No lo elimina simplemente.
¿Alguna idea?
309
3
sustituirá
/r
por/
utilizandoString.prototype.replace
.También puede utilizar regex con una bandera global (como sugieren Erik Reppen & Sagar Gala, más abajo) para reemplazar todas las ocurrencias con
EDIT: Ya que todo el mundo se está divirtiendo mucho aquí y user1293504 no parece que vaya a volver pronto para responder a las preguntas de aclaración, aquí'hay un método para eliminar el enésimo carácter de una cadena:
Dado que user1293504 utilizó el recuento normal en lugar de un recuento con índice cero, tenemos que quitar 1 del índice, si desea utilizar esto para replicar cómo funciona
charAt
no reste 1 del índice en la tercera línea y utilicetmp.splice(i, 1)
en su lugar.Siempre están las funciones de cadena, si sabes que siempre vas a eliminar el cuarto carácter:
char.length
es cero. En este caso hay que añadir1
para saltar el carácter.