2010-06-21 22 views

cevap

8

bir dizenin başından ve sonundan boşlukları kaldırır dize değişkenleri bir Trim fonksiyonunu katacak

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

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

Eğer böyle şeyler yapabilirsiniz:

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

@ @ lam3r4370'in yapmak istediği, '\ n' karakterinin bir karakterinin yerine geçmesidir, yukarıdaki/^ \ s + | \ s + $/g' yerine '/ \ n $ /' yazın. Ayrıca, bu kodu dağıtmayı planlıyorsanız veya başka kullanıcılardan JS ile alan paylaşma olasılığının bulunduğu bir yere yerleştirmeyi planlıyorsanız, yalnızca 'String.prototype' yerine 'genel bir işlev' oluşturmanızı tavsiye ederim. Çok yaygın bir uygulama olmasına rağmen, temel JS nesnelerine yöntem ekleyerek başkaları için sorun yaratabilirsiniz. – Andrew

+0

@Andrew, yolunuz imleç konumunu değiştirir. @John, sizinki - metni okuyucunun başlangıcına taşır. – lam3r4370

+0

Oh. Kullanıcının güncellediği bir textareadaki satır sonu aralığını kaldırmaya mı çalışıyorsunuz? – Andrew

3

$.trim() hile yapmak gerekir!

Belirtilen dizenin başına ve sonuna ait boşluk ve yeni satır karakterlerini düzeltir.

+3

JQuery kullanıyor olduklarını veya sorgusuz yeni bir satırdan başka bir şey yapmak istediklerini belirttiler. –

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

Bunu en çok beğendim. Örneğin bir "stdout" akışında, yine de büyük bir performans vuruşu olacaktır. Ama bu durumda hiçbir yolu yoktur ... – eljefedelrodeodeljefe

2

Kişisel olarak dizelerden yeni satırları kırpmak için lodash'ı seviyorum. https://lodash.com/

_.trim(myString); 
+0

Soruyu cevaplamak için '_.trimRight (myString, '\ n')' komutunu kullanın. Bunun, yalnızca bir değil, * sondaki son satır sayısını * kaldıracağını unutmayın. –

İlgili konular