Quiero reemplazar todas las apariciones de caracteres de espacio en blanco (espacio, tabulación, nueva línea) en JavaScript.
¿Cómo hacerlo?
Lo intenté:
str.replace(/ /gi, "X")
Quiero reemplazar todas las apariciones de caracteres de espacio en blanco (espacio, tabulación, nueva línea) en JavaScript.
¿Cómo hacerlo?
Lo intenté:
str.replace(/ /gi, "X")
Respuestas:
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");
replace
función no se modifica str
, por lo que debe asignarla nuevamente.
perl = TRUE
, comogsub(pattern = "[\\s]+", ..., perl = TRUE)
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)
¿Has probado el \s
?
str.replace(/\s/g, "X");
Prueba esto:
str.replace(/\s/g, "X")
\s\n\t
coincidencias: cualquier carácter de espacio en blanco, seguido de una nueva línea, seguida de una pestaña.
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");
replaceAll
de?
He usado el método "slugify" de underscore.string y funcionó de maravilla:
https://github.com/epeli/underscore.string#slugifystring--string
Lo bueno es que realmente puedes importar este método, no necesitas importar toda la biblioteca.