JavaScript работа со стрингови
 

Стринговите - низите во JavaScript се низи од карактери како на пример "Bilo kakov tekst“.

Низа - стринг може да биде кој било текст во опфатен во двојни или единечни наводници:

Пример 1.

let avtomobil1 = "Volvo XC60";
let avtomobil2 = 'Volvo XC60';

Индексите на низите - стринговите почнуваат од нула: Првиот знак-карактер од низата е на позиција 0, вториот на 1 итн.

Својства и методи на низата-стринг

Примитивните вредности, како низата - стрингот „Bilo kakov tekst“, не можат да имаат својства или методи (бидејќи тие не се објекти).

Но, со JavaScript, методите и својствата се исто така достапни на примитивните променливи, бидејќи JavaScript ги третира примитивните  променливи како објекти при извршување на методи и својства.


Методи на стринговите

Повеќето работи се објекти во JavaScript. Кога креирате низа, на пример со користење

let string = 'Ова е мојата низа';

вашата променлива станува стринг-објект и како резултат има голем број својства и методи достапни за неа.

Наоѓање на должината на низата

Пример 2.

let browser = 'mozilla';
browser.length;

Ова треба да го врати бројот 7, бидејќи "mozilla" е долга 7 карактери. Ова е корисно од многу причини; на пример, можеби ќе сакате да ги пронајдете должините на серија стрингови за да можете да ги прикажувате по редослед или да му дадете на корисникот до знаење дека корисничкото име што го внеле во полето за форма е предолго ако е над одредена должина . 

Преземање на специфичен карактер на низа

За било која низа-стринг, можете да вратите кој било карактер од низа со употреба на соодветен број во заградата - ова значи дека на крајот од името на вашата променлива вклучувате квадратни загради  ([]). Во рамките на квадратните загради го вклучувате бројот на карактерот што сакате да го вратите, па на пример, за да ја добиете првата буква што ќе го направите ова:

Пример 3.

browser[0];

Запомнете: Стринговите-низите почнуваат од 0, а не од 1! Можете да го користите ова за, на пример, да ја пронајдете првата буква од серијата стрингови и да ги подредите по азбучен ред.

За да го добиеме последниот знак од која било низа, можеме да ја користиме следнава линија, комбинирајќи ја оваа техника со својството за должина што го погледнавме погоре:

Пример 4.

 browser[browser.length-1];

Должината на низата „mozilla“ е 7, но бидејќи броењето започнува од 0, позицијата на последниот знак е 6; користејќи должина-1 го добиваме последниот знак.

Наоѓање на подстринг во внатрешноста на стринг и негово извлекување

Понекогаш ќе сакате да откриете дали е присутна помала низа внатре во поголема (општо велиме ако некоја под-низа е присутна во изворната низа). Ова може да се направи со користење на методот indexOf (), кој има еден параметар - поднизата што сакате да ја барате.

Ако поднизата се најде во внатрешноста на главната низа, тој враќа број што ја претставува индексната позиција на поднизата - од кој карактер на главната низа започнува поднизата. Ако поднизата не се наоѓа во главната низа, таа враќа вредност  -1.
 

Пример 5а.

browser.indexOf('zilla');

Ова ни дава резултат  2, бидејќи поднизата "zilla" започнува на позиција 2 (0, 1, 2 - значи поднизата почнува  од  карактерот што се наоѓа на 2 позиција) внатре во "mozilla". Таквиот код може да се користи за филтрирање на стрингови. На пример, можеби имаме список на веб-адреси и сакаме само да ги испечатиме оние што содржат „mozilla“.

Пример 5b.

browser.indexOf('vanilla');

Ова ни дава резултат  -1, бидејќи поднизата "vanilla" не се наоѓа внатре во "mozilla".

Ова може да го искористите за да ги најдете сите инстанци на стрингови кои не ја содржат поднизата „mozilla“ (или, ако користите оператор за негација,! ==):

if(browser.indexOf('mozilla') === -1) {
    // programski kod za obrabotka na stringot browser
    // vo koj stringot 'mozilla' NE se sodrzi
}

if(browser.indexOf('mozilla') !== -1) {
    // programski kod za obrabotka na stringot browser
    // vo koj stringot 'mozilla'  SE sodrzi
}

Издвојување на подстринг од друг стринг

Кога знаете од каде започнува поднизата во низа, и знаете на кој карактер сакате да заврши, функцијата slice() може да се користи за да се извлече поднизата.

browser.slice(0,3);

Ова враќа "moz" - првиот параметар е позицијата на карактерот во кој треба да започне да се извлекува, а вториот параметар е број на карактери што треба да се извлечат.

Исто така, ако знаете дека сакате да ги извлечете сите преостанати знаци во низа по одреден карактер, не мора да го вклучите вториот параметар! Наместо тоа, треба само да ја вклучите позицијата на карактерот од каде што сакате да ги извлечете преостанатите знаци во низа. Обидете се со следново:

browser.slice(2);

Ова ја враќа „zilla“ - тоа е затоа што позицијата на знакот од 2 е буквата z, и затоа што не вклучивте втор параметар, поднизата што е вратена беа сите преостанати знаци во низата.

Вториот параметар на функцијата slice() е опционален: ако не го вклучите, slice() завршува на крајот од оригиналната низа.

Промена на големина на букви

Методите на стринг, toLowerCase () и toUpperCase () ја земаат низа и ги претвораат сите знаци во мали или големи букви, соодветно. Ова може да биде корисно, на пример, ако сакате да ги нормализирате сите внесени кориснички податоци пред да ги зачувате во базата на податоци.

let podatok = 'Jas Sum JavaScript Programer';
podatok.toLowerCase();
podatok.toUpperCase();

Ажурирање (замена) на делови од стринг

Може да замените една подниза внатре во низа со друга подниза користејќи го методот replace().

browser.replace('moz','van');

Ова  враќа „vanilla“ при приказ на оваа функција-метод . Но, ако ја проверите вредноста на видот на прелистувачот, сепак е „mozilla“. За да ја ажурирате вредноста на променливата browser во реална програма, треба да ја поставите вредноста на променливата да биде резултат на операцијата. Во спротивно само ќе ја ажурира вредноста на поднизата. Значи, треба да го напишете ова:

browser = browser.replace ('moz', 'van');

Табела на функции

 

Методи

Опис

charAt()

Ја дава вредноста на карактерот присутна на наведениот индекс.

charCodeAt()

Ја дава вредноста на Уникод на карактерот присутен на наведениот индекс.

concat()

Овозможува спојување од два или повеќе стринга.

indexOf()

Ја обезбедува положбата на карактерот присутен во дадената низа.

lastIndexOf()

Ја обезбедува положбата на карактерот присутен во дадената низа со пребарување карактер од последната позиција.

search()

Пребарува одреден израз во дадена низа и ја враќа неговата позиција доколку се појави совпаѓање.

match()

Пребарува одреден израз во дадена низа и го враќа тој редовен израз доколку се појави совпаѓање.

replace()

Ја заменува дадената низа со наведената замена.

substr()

Се користи за да се земе дел од дадената низа врз основа на наведената почетна позиција и должина.

substring()

Се користи за земање на делот од дадената низа врз основа на наведениот индекс.

slice()

Се користи за превземање на делот од дадената низа.

toLowerCase()

Ја претвора дадената низа во низа со мали букви.

toUpperCase()

Ја претвора дадената низа во низа со големи букви.

toString()

Прави конверзија во низа - стринг.

valueOf()

Ја обезбедува примитивната вредност на стринг-објектот.

split()

Ја дели низата во низа подстринг низа, а потоа ја враќа таа новосоздадена низа.

trim()

Го отсекува празните места (space) од левата и десната страна на низата.