Eliminar TODOS los espacios en blanco del texto


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

Este es un fragmento de mi código. Quiero agregar una clase a una ID después de obtener la propiedad de texto de otra ID. El problema con esto, es la identificación que contiene el texto que necesito, contiene espacios entre las letras.

Me gustaría eliminar los espacios en blanco. Lo he intentado TRIM()y REPLACE()esto solo funciona parcialmente. El REPLACE()único elimina el 1er espacio.

Respuestas:


1351

Tienes que decir a replace () para repetir la expresión regular:

.replace(/ /g,'')

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

Si desea hacer coincidir todos los espacios en blanco, y no solo el carácter de espacio literal, use \sen su lugar:

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

31
Coffeescript se quejará de esa expresión regular por alguna horrible razón. En cambio, tuve que seguir adelante y usar el .replace(/\s+/g, '')que está totalmente bien para mí.
Dan Bradbury

77
Si desea implementar algo como el método string.strip de ruby, que devuelve una copia de la cadena con espacios en blanco iniciales y finales eliminados, esto debería funcionar: x = " Many spaces before and after " y = x.replace(/(^\s+|\s+$)/g, "") el ^\sespacio en blanco significa después del comienzo de la cadena, \s$significa espacio en blanco al final del string, |es para / o en el grupo, y el gmodificador se explica en los comentarios anteriores. También necesita +cuantificadores después de cada uno, \sya que desea capturar una o más instancias de espacios en blanco.
Garrett Simpson

300
.replace(/\s+/, "") 

Reemplazará solo el primer espacio en blanco , esto incluye espacios, pestañas y nuevas líneas.

Para reemplazar todos los espacios en blanco en la cadena, debe usar el modo global

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

11
El primero no elimina todos los espacios en blanco (solo elimina el primer grupo de espacio / nueva línea / pestaña), el segundo está bien. demo: regex101.com/r/wX8rF2/3

44
.replace (/ \ s + / g, '')
mynameistechno

@mynameistechno El +no agrega nada ya que ya estamos usando el gmodificador (global)
d4nyll

la primera línea no funcionó ya que no elimina los espacios finales del texto
UKDataGeek

@ d4nyll Podría hacerlo más eficiente.
Solomon Ucko

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.