Reemplazar todos los caracteres de espacio en blanco


Respuestas:


315

Usted quiere \s

Coincide con un solo carácter de espacio en blanco, incluyendo espacio, tabulación, avance de formulario, avance de línea

Equivalente a

[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]

en Firefox y [ \f\n\r\t\v]en IE .


str = str.replace(/\s/g, "X");

41
+1 para recordar mostrar que la replacefunción no se modifica str, por lo que debe asignarla nuevamente.
FishBasketGordo

1
En una función, puede devolver str.replace, por lo que no necesita asignar en ese ámbito.
Steve K

Recuerde que R debe usar perl = TRUE, comogsub(pattern = "[\\s]+", ..., perl = TRUE)
MS Berends

30

\ses un meta personaje que cubre todo el espacio en blanco. No es necesario que no distinga entre mayúsculas y minúsculas: el espacio en blanco no tiene mayúsculas.

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

19

También podemos usar esto si queremos cambiar todos los espacios en blanco unidos múltiples con un solo carácter:

str.replace(/\s+/g,'X');

Véalo en acción aquí: https://regex101.com/r/d9d53G/1

Explicación

/ \s+/ g

  • \s+coincide con cualquier carácter de espacio en blanco (igual a [\r\n\t\f\v ])
  • + Cuantificador : coincide entre una e ilimitadas veces, tantas veces como sea posible, devolviendo según sea necesario (codicioso)

  • Banderas de patrones globales
    • g modificador: g lobal. Todos los partidos (no volver después del primer partido)


4

Si utiliza

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

reemplaza todos los espacios en blanco. Por ejemplo:

var str = "hello my world";
str.replace(/\s/g, "") //the result will be "hellomyworld"

4

Prueba esto:

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

Eso no funciona \s\n\tcoincidencias: cualquier carácter de espacio en blanco, seguido de una nueva línea, seguida de una pestaña.
Daniel Cassidy

3

No / gi pero / g

var fname = "My Family File.jpg"
fname = fname.replace(/ /g,"_");
console.log(fname);

da

"My_Family_File.jpg"

1

En realidad ha sido trabajado pero

solo prueba esto.

tomar el valor / \ s / g en una variable de cadena como

String a = /\s/g;

str = str.replaceAll(a,"X");

¿de dónde sacaste replaceAllde?
Ionel Lupu

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.