SORU
7 HAZİRAN 2011, Salı


Kesimleri içine dize bölmek için Javascript zarif yolu n karakter uzunluğunda

Başlığı söylediği gibi, bir dize var, ve parçalara bölmek istiyorumnkarakterden uzun.

Örneğin:

var str = 'abcdefghijkl';

biraz büyü=3, olur sonra

var arr = ['abc','def','ghi','jkl'];

Zarif bir şekilde bunu yapmak için var mı?

CEVAP
7 HAZİRAN 2011, Salı


str.match(/.{1,3}/g)

Not:{1,3} yerine sadece {3} 3, e katları olmayan dize uzunlukları için kalan eklemek için kullanın.g:

"abcd".match(/.{1,3}/g); // ["abc", "d"]

Birkaç incelikleri:

  1. Eğer dize yeni satır içerebilir (bir karakter olarak saymak yerine, dize bölme istiyorum), . Bu çekim olmayacak. /[\s\S]{1,3}/ kullanın. (Teşekkürler @Mike).
  2. Eğer string boş ise, o zaman match() boş bir dizi bekliyor olabilir zaman null dönecektir. || [] ekleyerek karşı korumak.

İle sona erebilir bu yüzden:

var parts = str.match(/[\s\S]{1,3}/g) || [];

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Matthew Morrill

    Matthew Morr

    15 EKİM 2011
  • Mega64

    Mega64

    24 ŞUBAT 2006
  • Study with Substance P

    Study with S

    31 Mayıs 2008