2012-08-08 17 views
8

Dada una cadena de Javacript, como¿Cómo reemplazar un apóstrofo en una cadena en Javascript?

var str = "this's kelly"; 

quiero reemplazar el apóstrofe (') con otro personaje. Esto es lo que he intentado hasta ahora:

str.replace('"', 'A'); 
str.replace('\'', 'A'); 

Ninguno de estos trabajos.

¿Cómo lo hago?

¿También puede por favor avisarme con los caracteres no válidos que cuando se pasan a la cadena de consulta o URL bloquean la página o producen resultados no deseados? por ejemplo, el apóstrofo pasajero (') produce un resultado no deseado si son más de ellos.

+0

cadena = str.replace ("'", 'A'); – TommyBs

+0

Ya tiene un script que funciona ... 'str.replace ('\' ',' A '); - does not work' <- eso realmente funciona. – Esailija

+2

un problema común: no modifica la cadena a la que se llama, sino que devuelve una nueva. – jbabey

Respuesta

13
var str = "this's kelly" 
str = str.replace(/'/g, 'A'); 

La razón por la que su versión no estaba funcionando es porque str.replace devuelve la nueva cadena, sin actualizar en su lugar.

También lo he actualizado para usar la versión regular expression de str.replace, que cuando se combina con la opción g reemplaza todas las instancias, no solo la primera. Si realmente quería que basta con sustituir la primera, o bien eliminar la g o hacer str = str.replace("'", 'A');

2

hacer esto:

str = str.replace("'","A"); 
2

cadena = str.replace ("'", "A");

Su ejecución de la función, pero no asignarlo a nada nuevo para el var se mantiene sin cambios

Cuestiones relacionadas