Let category = "Baby Dress"
Quiero recortarlo con espacios y texto en minúsculas. La salida
como "vestido de bebé". Use el siguiente código. pero me devuelve "bebé"
vestido".
category.trim(" ").toLowerCase()
Necesito entender por qué no funciona como esperaba y cuáles son las formas de hacerlo.
------------------------------------
No funciona como se esperaba porque la función .trim se usa para eliminar espacios en blanco de ambos lados de la cadena, no del medio.
Puedes usar
category.toLowerCase().split(" ").join("")
Aquí estoy poniendo las letras en minúsculas, dividiéndolas y luego uniéndolas.
------------------------------------
Puedes hacer así:
category.replace(/\s+/g, '').toLowerCase()
3
2
Eso solo eliminará el primer espacio.
– Talmacel Marian Silviu
28/03/2021 a las 13:48
y \s+ es más eficiente
- mariposa
28/03/2021 a las 14:13
eso es cierto :) en caso de que hubiera más de un espacio entre palabras
– Talmacel Marian Silviu
28/03/2021 a las 14:22
------------------------------------
El método trim solo elimina espacios al principio de la cadena. Lo que necesitas es reemplazar los espacios sin nada con el método de reemplazo usando expresiones regulares:
category.replace(/\s/g, "").toLowerCase();
2
2
La expresión regular suele ser más lenta que la función de división.
Dragón endotérmico
28/03/2021 a las 13:57
Estoy bastante seguro de que para lo que necesita, la diferencia será astronómicamente pequeña :)
– Talmacel Marian Silviu
28/03/2021 a las 13:59