length array javascript string

array - slice javascript



¿Reemplazando espacios con guiones bajos en JavaScript? (8)

Estoy tratando de usar este código para reemplazar espacios con _, funciona para el primer espacio en la cadena pero todas las demás instancias de espacios permanecen sin cambios. Alguien sabe por qué?

function updateKey() { var key=$("#title").val(); key=key.replace(" ","_"); $("#url_key").val(key); }



Para responder a la pregunta de Prasanna a continuación:

¿Cómo reemplazas los espacios múltiples por espacio único en Javascript?

Usaría la misma función replace con una expresión regular diferente. La expresión para el espacio en blanco es /s la expresión para "1 o más veces" es + el signo más, por lo que simplemente reemplazaría la respuesta de Adam con lo siguiente:

key=key.replace(//s+/g,"_");


Pruebe .replace(/ /g,"_");

Edite : o .split('' '').join(''_'') si tiene una aversión a los REs

Edit : John Resig dijo :

Si está buscando y reemplazando a través de una cadena con una búsqueda estática y un reemplazo estático, es más rápido realizar la acción con .split ("emparejar"). Unirse ("reemplazar") - lo que parece ser contraintuitivo pero logra funcionar De esa manera en la mayoría de los navegadores modernos. (Se están realizando cambios para mejorar enormemente el rendimiento de .replace (/ match / g, "replace") en la próxima versión de Firefox, por lo que la afirmación anterior no será el caso por mucho tiempo).


Puedes probar esto

var str = ''hello world !!''; str = str.replace(//s+/g, ''-'');

Incluso reemplazará múltiples espacios con un solo ''-''.


Reemplazar espacios con guión bajo

var str = ''How are you''; var replaced = str.split('' '').join(''_'');

Salida: How_are_you


Sé que esto es viejo, pero no vi a nadie mencionar la extensión del prototype String.

String.prototype.replaceAll = function(search, replace){ if(!search || !replace){return this;} //if search entry or replace entry empty return the string return this.replace(new RegExp(''['' + search + '']'', ''g''), replace); //global RegEx search for all instances ("g") of your search entry and replace them all. };


prueba esto:

key=key.replace(/ /g,"_");

Eso hará una búsqueda / reemplazo global.

reemplazar javascript


var text = ''Hello World'';

new_text = text.replace ('''', ''_'');

console.log (new_text);