658 votos

Eliminar TODOS los espacios en blanco del texto

Posible duplicado:
Reemplaza todos los espacios en una cadena con '+'.

$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");

Esto es un recorte de mi código. Quiero añadir una clase a un ID después de obtener la propiedad de texto de otro ID. El problema con esto, es que el ID que contiene el texto que necesito, contiene espacios entre las letras.

Me gustaría que se eliminaran los espacios en blanco. He intentado TRIM()y REPLACE() pero esto sólo funciona parcialmente. El REPLACE() sólo elimina el primer espacio.

Muchas gracias por adelantado, sé que me falta algo pequeño.

1491voto

Flimzy Puntos 9245

Tienes que decirle a replace() que repita el regex:

.replace(/ /g,'')

El g significa repetir la búsqueda a través de toda la cadena. Lee sobre esto, y otros modificadores RegEx disponibles en JavaScript aquí.

316voto

Pantelis Puntos 2032
.replace(/\s+/, "") 

debería funcionar (Regex que elimina todos los espacios)

o puedes probar esto

.replace(/\s/g, "") 

(reemplazar globalmente los espacios)

6voto

Utilizando String.prototype.replace con regex, como se menciona en las otras respuestas, es sin duda la mejor solución.

Pero, sólo por diversión, también puedes eliminar todos los espacios en blanco de un texto utilizando String.prototype.split y String.prototype.join :

const text = ' a b    c d e   f g   ';
const newText = text.split(/\s/).join('');

console.log(newText); // prints abcdefg

5voto

camillo777 Puntos 1311

Ahora puedes usar "replaceAll":

console.log(' a b    c d e   f g   '.replaceAll(' ',''));

se imprimirá:

abcdefg

Pero no funciona en todos los navegadores posibles:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll

3voto

ßãlãjî Puntos 687

Regex para eliminar los espacios en blanco

\s+

var str = "Visit Microsoft!";
var res = str.replace(/\s+/g, "");
console.log(res);

o

[ ]+

var str = "Visit Microsoft!";
var res = str.replace(/[ ]+/g, "");
console.log(res);

Eliminar todos los espacios en blanco al principio de la cadena

^[ ]+

var str = "    Visit Microsoft!";
var res = str.replace(/^[ ]+/g, "");
console.log(res);

eliminar todos los espacios en blanco al final de la cadena

[ ]+$

var str = "Visit Microsoft!      ";
var res = str.replace(/[ ]+$/g, "");
console.log(res);

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X