CodeWilderness
JS coding flow
Singing Parrot as author
Radošević Dejan

JS - String

String je nepromjenjiva, uređena sekvenca karaktera, koja se koristi za prikaz teksta u JS-u. Za razliku od nekih drugih jezika u JS-u ne postoji poseban tip za jedan karakter (char). Definisanje stringa vršimo pomoću polunavodnika (‘string’), navodnika (“string”) i backtick navodnika (`string`).

let strOne = "strValue";
let strTwo = ""; // prazan string
 
// ovako kreiran string se naziva template literal
let strTree = `str`;

Još jedan od načina za kreiranje stringa je upotreba String konstruktora, pri čemu se generiše string u vidu objekta.

let str = new String("string value");
 
console.log(str.valueOf()); // string value

Metodi stringa

Postoji mnoštvo metoda koje se mogu koristiti za manipulaciju i rad sa stringovima

let strOne = "Str One";
let strTwo = "Str Two";
let trimStr = "   str value   ";
 
/* ----- prikaz dužine stringa (broj karaktera) ----- */
console.log(strOne.length); // 7

Indeksiranje stringa

Indeksiranje se odnosi na pristupanje određenim karakterima stringa (ili grupi karaktera) pomoću njihovih numeričkih pozicija. Svrha indeksiranja karaktera u JS-u jeste da omogući manipulaciju i pristupanje određenim djelovima teksta unutar stringa. Ovo je korisno za rad s tekstualnim podacima, poput pretrage, izdvajanja djelova teksta ili izmjene određenih djelova stringa. Najprostiji način pristupa stringu je pomoću uglasth zagrada i željenog indeksa stringa. Od metoda za pristup pojedinačnih karaktera stringa mogu se izdvojiti metode charAt(index) i metoda at(index) koja daje mogućnost negativnog indeksiranja.

console.log(strOne[4]); // O
console.log(strOne.charAt(1)); // t
console.log(strOne.at(-1)); // e - at metoda omogućava negativno indeksiranje
/* metoda indexOf(sequence, index) locira index na kom počinje sekvenca stringa,
drugi argument metode se odnosi na indeks odakle se započinje pretraga i nije obavezan */
console.log(strTwo.indexOf("Tw")); // 4
 
/* pristup grupi karaktera stringa metodom substring(firstIndex, lastIndex) */
console.log(strTwo.substring(2, 6)); // r Tw

Promjena veličine stringa

Nekada je potrebno promijeniti veličinu karaktera stringa (poređenja, smještanje inputa forme …) i u tu svrhu se koriste dva metoda za promjenu veličine stringova u velike ili male karaktere.

/* metodi toUpperCase() i toLowerCase() */
console.log(strOne.toUpperCase()); // STR ONE
console.log(strTwo.toLowerCase()); // str two

Spajanje stringa

Spajanje striga se može odraditi pomoću operatora za konkatenaciju (+) i metode concat(separator, string). Concat metoda u suštini obavjlja isti posao kao i operator konkatenacije, s razlikom da posjedjuje eksplicitno definisan argument koji označava separator stringova.

console.log(strOne + " " + strTwo); // Str One Str Two
console.log(strOne.concat(" xyx ", strTwo)); // Str One xyx Str Two

Uklanjanje praznih sekvenci stringa

Uklanjanje praznih sekvenci stringa je korisno za čišćenje i normalizaciju tekstualnih podataka. U tu svrhu mogu se koristiti metode trim, trimStart, trimEnd.

// uklanja prazne sekvence sa početka i kraja
console.log(trimStr.trim()); // "str value"
 
// uklanja prazne sekvence sa početka stringa
console.log(trimStr.trimStart()); // "str value   "
 
// uklanja prazne sekvence sa kraja stringa
console.log(trimStr.trimEnd()); // "   str value"

Metodi pretrage sekvenci stringa

Ove metode se koriste kada je potrebno provjeriti specifične uslove ili prisutnost određenih podnizova unutar stringa.

let str = "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit";
 
// da li string počinje zadatom sekvencom
console.log(str.startsWith("Neque")); // true
 
// da li se string završava zadatom sekvencom
console.log(str.endsWith("velit.")); // false - ima tačku
 
// da li postoji zadata vrijednost/sekvenca u strngu
console.log(str.includes("z")); // false

Zamjena sekvenci stringa

Ovi metodi se koriste za zamjenu određenih djelova teksta u stringu sa nekim drugim tekstom.

let str = "Some string value";
 
/* @method replace zamjenjuje prvo pojavljivanje substringa u željenu vrijednost */
console.log(str.replace("string", "text")); // Some text value
 
/* @method replaceAll zamjenjuje svako pojavljivanje zadatih parametara u stringu */
console.log(str.replaceAll("e", "E")); // SomeE string valuE

Dijeljenje stringa na sekvence

Dijeljenje stringa na sekvence korisno je kod analize i manipulacije podataka, obrade korisničkih unosa, formatiranje i parsiranje podataka, formatiranje teksta u struktuirane podatke kao i kod pretrage i filtriranja podataka. U JS-u se mogu izdvojiti dvije metode koje obavljaju ovaj posao:

let str = "String to split";
 
console.log(str.split(" ")); // [ 'String', 'to', 'split' ]
console.log(str.slice(3, 7)); // ing

Ponavljanje stringa

Ako je potrebno generisati string koji se sastoji od ponavljanja istog teksta može se iskosititi metoda repeat. Ovo može biti korisno kada je potrebno kreirati uzroke ili strukture.

console.log("string ".repeat(5)); // "string string string string string "