Foros del Web » Programando para Internet » Javascript »

Cambiar un carácter en una posición concreta

Estas en el tema de Cambiar un carácter en una posición concreta en el foro de Javascript en Foros del Web. Hola! Vuelvo a necesitar vuestra ayuda Como escribiríamos un carácter en una posición concreta de un string, he probado con cosas así: str.charAt(3) = 'e'; ...
  #1 (permalink)  
Antiguo 22/03/2004, 01:48
 
Fecha de Ingreso: enero-2004
Mensajes: 40
Antigüedad: 20 años, 3 meses
Puntos: 0
Cambiar un carácter en una posición concreta

Hola! Vuelvo a necesitar vuestra ayuda

Como escribiríamos un carácter en una posición concreta de un string, he probado con cosas así:
str.charAt(3) = 'e';
str[3] = 'e';
Pero nada...

Gracias!!
  #2 (permalink)  
Antiguo 22/03/2004, 02:45
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, menska.

No se si habrá alguna forma más sencilla, pero de momento puedes probar esto:
Código PHP:
<script>
function 
cambia(num,car) {
    
txt=this;
    
iz=txt.substring(0,num-1);
    
de=txt.substring(num,txt.length);
    return 
iz+car+de;
}
String.prototype.cambia=cambia;
frase="lo que sea";
frase=frase.cambia(4,'x');
alert(frase);
</script> 
Suerte. Saludos,
  #3 (permalink)  
Antiguo 22/03/2004, 05:56
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola menska y JavierB:

Una variante a lo expuesto por JavierB:

String.prototype.cambiar = function(num,car) {
return (num < this.length) ? this.replace(this.substr(num, 1), car, num): this;
}

Saludos
  #4 (permalink)  
Antiguo 22/03/2004, 06:11
 
Fecha de Ingreso: enero-2004
Mensajes: 40
Antigüedad: 20 años, 3 meses
Puntos: 0
Ey! Gracias a los dos, ahora probaré a ver qué sacamos.

Ta pronto!!
  #5 (permalink)  
Antiguo 22/03/2004, 06:30
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, caricatos.

Ya me parecía a mí que debía haber otra forma más sencilla Además con replace se pueden utilizar expresiones regulares.

Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:21.