Cuando tenemos una cadena que contiene los caracteres de espacio:¿Hay alguna diferencia entre/ s/g y/ s +/g?
var str = ' A B C D EF ';
y queremos quitar los espacios de la cadena (queremos esto: 'ABCDEF'
).
Tanto este:
str.replace(/\s/g, '')
y esto:
str.replace(/\s+/g, '')
devolverá el resultado correcto.
¿Esto significa que el +
es superfluo en esta situación? ¿Hay alguna diferencia entre esas dos expresiones regulares en esta situación (como en, podrían de alguna manera producir resultados diferentes)?
Actualización: Comparación de rendimiento - /\s+/g
es más rápido. Vea aquí: http://jsperf.com/s-vs-s
vidas http://stackoverflow.com/questions/5963182/how-to-remove-spaces-from-a- string-using-javascript/5963256 Apuesto a que esto es lo que hizo que hicieras esta pregunta;) (tu comentario sobre la respuesta) – rsplak
Me imagino que '\ s +' es más rápido, porque puede reemplazar fragmentos de espacios en blanco, mientras que '\ s' debe reemplazar cada espacio en blanco por separado? – KooiInc
@KooiInc: Correcto, porque coincide/reemplaza menos veces. – BoltClock