2010-06-21 7 views

Respuesta

8

de http://en.wikipedia.org/wiki/Trim_%28programming%29

String.prototype.trim = function() { 
    return this.replace(/^\s+|\s+$/g, ""); 
}; 

que agregará una función de ajuste de las variables de cadena que eliminarán los espacios en blanco del principio y el final de una cadena.

Con esto se puede hacer cosas como:

var mystr = "this is my string "; // including newlines 
mystr = mystr.trim(); 
+7

Si todo lo que @ lam3r4370 quiere hacer es reemplazar un carácter '\ n', reemplace'/^ \ s + | \ s + $/g' arriba con '/ \ n $ /'. Además, si planea distribuir este código o ponerlo donde es probable que comparta espacio con JS de otros usuarios, le recomendaría que simplemente cree una función genérica 'trim' en lugar de usar' String.prototype'. Aunque es una práctica muy común, puede causar problemas a los demás agregando métodos a los objetos básicos de JS. – Andrew

+0

@Andrew, su manera cambia la posición del cursor. @John, your's - mueve el texto al inicio del área de texto. – lam3r4370

+0

Oh. ¿Está tratando de eliminar el salto de línea final en un área de texto que el usuario está actualizando? – Andrew

3

$.trim() debe hacer el truco!

Recorta los caracteres de espacios en blanco y nueva línea desde el principio y el final de la cadena especificada.

+3

En ninguna parte el Interlocutor indicó que estaban usando jQuery ... o que querían recortar cualquier cosa que no fuera una línea nueva. –

38
verses ="1\n222\n" 
verses = verses.replace(/\n$/, "") 
-> returns "1\n222" 
+0

Me gusta más esto. En una transmisión de 'stdout' por ejemplo, tendrá un gran éxito de rendimiento. Pero no hay forma de evitarlo en este caso ... – eljefedelrodeodeljefe

2

Personalmente, me gusta lodash para recortar nuevas líneas de cuerdas. https://lodash.com/

_.trim(myString); 
+0

Para responder a la pregunta, use '_.trimRight (myString, '\ n')'. Tenga en cuenta que esto eliminará * cualquier * número de nuevas líneas finales, no solo una. –

Cuestiones relacionadas