WEBnSTUDY.com
JavaScript

Deljenje JavaScript stringa

Deljenje stringa se lako obavlja metodom split() string objekta.

s.split(S) Vraća niz delova stringa, odvojenih separatorom S.

Metod split() se poziva sa zadatim string parametrom, koji predstavlja "separator" delova. Rezultat je niz stringova - delova originalnog stringa.

Ako je separator nedefinisan, kao rezultat se dobija niz sa samo jednim elementom, a taj element sadrži ceo originalni string.

str.split(separator) str.split(separator, broj delova)
ParametarTipObavezanOpis
separatorstringDAString koji služi kao graničnik za odvajanje delova stringa.
broj delovanumerikNEMaksimalan broj elemenata niza koji se dobija kao rezultat.
RezultatOpis
nizNiz stringova koji predstavljaju delove početnog stringa.

Ako kao separator zadamo prazan string, kao rezultat ćemo dobiti niz znakova originalnog stringa.

Regularni izraz kao separator

Ovde stvari postaju zanimljive. Kao separator je moguće navesti i regularni izraz, što znači da će separatori za delove stringa biti svi podstringovi koji se uklapaju u zadati šablon!

str.split(regEx) str.split(regEx, broj delova)

Deljenje stringa

Da pogledamo prvo neke jednostavnije primere metoda split().


  var prom = "Iskustvo je prosto naziv koji dajemo sopstvenim greškama.";
  var niz1 = prom.split(" ");
  var niz2 = prom.split(" ", 3);
  
  /*
    niz1 = "Iskustvo", "je", "prosto", "naziv", "koji", "dajemo", "sopstvenim", "greškama."
    niz2 = "Iskustvo", "je", "prosto"
  */
	

U promenljivoj prom zadali smo jednu običnu rečenicu (u stvari aforizam Oskara Vajlda). Prvi niz dobijamo tako što zadajemo deljenje stringa na osnovu razmaka - razmak nam postaje graničnik za "komade". Kod drugog niza smo zadali i drugi parametar koji ograničava broj elemenata dobijenog niza na maksimalno tri.


  var brojevi = "79;96;125;3;51;";
  var niz1 = prom.split(";");
  var niz2 = prom.slice(0,-1).split(";");
  
  var tekst = "JavaScript";
  var niz = prom.split("");
  
  /*
    niz1 = "79", "96", "125", "3", "51", ""
    niz2 = "79", "96", "125", "3", "51"
    
    niz = "J", "a", "v", "a", "S", "c", "r", "i", "p", "t"
  */
	

U primeru brojevi vidimo jednu tipičnu situaciju u kojoj na neki automatizovan način dobijamo niz npr. brojeva koji su odvojeni nekim separatorom (u ovom slučaju to je tačka-zarez). Pri takvoj automatizaciji je vrlo moguće da i posle poslednjeg podatka imamo separator. U tom slučaju, ne zaboravite da ćete dobiti jedan element niza više.

Međutim, pogledajte kako smo dobili niz2! Prvo smo zadali metod slice nad stringom prom, a onda iz toga izvukli delove stringa. Kako ovo funkcioniše? Pa jednostavno, poziv prom.slice(...) kreira novi string kao podstring stringa prom, kome je odsečen samo poslednji znak (poslednji tačka-zarez koji nam smeta). Pošto je to sve jedan novi, nezavisni string, i on ima sve metode string objekta. Tako možemo da pozovemo prom.slice(...).split(...).

U trećem primeru vidimo da ako se kao separator zada prazan string, rezultat je niz u kome su svi znakovi stringa odvojeni.

Svi elementi sajta Web'n'Study, osim onih za koje je navedeno da su u javnom vlasništvu, vlasništvo su autora i ne smeju se koristiti, u celosti ili delimično bez pismenog odobrenja autora. To uključuje tekstove, slike, ilustracije, animacije, prateći grafički materijal i programski kod.
Ovaj sajt koristi tehnologiju kolačića (cookies) radi vođenja interne statistike u cilju unapređenja korisničkog iskustva. Tako prikupljeni podaci su anonimni i nedostupni trećim licima. Vaša privatnost nije ugrožena ni na koji način.