Metinden TÜM beyaz boşlukları kaldırma


587
$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");

Bu benim kodumdan bir pasaj. Başka bir kimliğin text özelliğini aldıktan sonra kimliğe bir sınıf eklemek istiyorum. Buradaki sorun, ihtiyacım olan metni tutan kimlik, harfler arasında boşluklar içeriyor.

Beyaz boşlukların kaldırılmasını istiyorum. Denedim TRIM()ve REPLACE()bu sadece kısmen çalışıyor. REPLACE()Sadece 1 boşluk kaldırır.

Yanıtlar:


1347

Normal ifadeyi tekrarlamak için replace () işlevini söylemelisiniz:

.replace(/ /g,'')

G karakteri tüm dize ile arama tekrarlamak anlamına gelir. Bunu ve JavaScript'te bulunan diğer RegEx değiştiricilerini buradan okuyun .

Yalnızca değişmez boşluk karakteriyle değil tüm boşluklarla eşleşmek istiyorsanız \sbunun yerine şunu kullanın:

.replace(/\s/g,'')

30
Coffeescript, bazı tanrıların korkunç nedenlerinden dolayı bu normal ifadeden şikayet edecek. Bunun yerine devam etmeliydim ve bunu kullanmak .replace(/\s+/g, '')benim için tamamen iyi.
Dan Bradbury

7
Eğer lider ve boş alanları çıkarıp sondaki ile dizinin bir kopyasını döndürür döndürür Ruby'nin string.strip yöntemi gibi bir şey uygulamak istiyorsanız, bu çalışması gerekir: araçlarının boşluk dizenin başından sonra araçlarla sonunda boşluk dize, gruptaki / veya içindeki içindir ve değiştirici yukarıdaki yorumlarda açıklanmıştır. Ayrıca, bir veya daha fazla beyaz boşluk örneğini yakalamak istediğinizde nicelleştiricilere ihtiyacınız vardır . x = " Many spaces before and after " y = x.replace(/(^\s+|\s+$)/g, "")^\s\s$|g+\s
Garrett Simpson

298
.replace(/\s+/, "") 

Yalnızca ilk boşluğun yerini alacak , bu boşluklar, sekmeler ve yeni satırları içerir.

Dizedeki tüm boşlukları değiştirmek için genel modu kullanmanız gerekir

.replace(/\s/g, "")

11
Birincisi tüm beyaz boşlukları kaldırmaz (yalnızca ilk boşluk / yeni satır / sekme grubunu kaldırır), ikincisi tamamdır. demo: regex101.com/r/wX8rF2/3

4
.replace (/ \ s + / g, '')
mynameistechno

@mynameistechno +Zaten g(global) değiştiriciyi kullandığımızdan hiçbir şey
eklemiyor

metinden sonra boşlukları kaldırmayacağından ilk satır çalışmadı
UKDataGeek

@ d4nyll Daha verimli olabilir.
Solomon Ucko

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.