Javascript obține un anumit caracter într-un șir. Funcții de bază de șir. Elementele de bază ale șirurilor

Un șir este o secvență de unul sau mai multe caractere care poate conține litere, cifre și alte simboluri. În JavaScript, este cel mai simplu tip de date imuabil.

Șirurile vă permit să afișați și să manipulați text, iar textul este modalitatea principală de a comunica și transmite informații pe web. Prin urmare, șirurile sunt unul dintre conceptele principale ale programării.

Acest tutorial vă va învăța cum să creați și să vizualizați ieșirea șirurilor, să concatenați șirurile și să le stocați în variabile. Veți afla, de asemenea, despre regulile de utilizare a ghilimelelor, apostrofelor și liniilor noi în JavaScript.

Crearea și vizualizarea unui șir

Există trei moduri de a crea un șir în JavaScript: acestea pot fi scrise între ghilimele simple (‘), ghilimele duble (‘) sau backtick-uri (`). Deși scripturile conțin uneori toate cele trei tipuri de șiruri, doar un singur tip de ghilimele ar trebui să fie folosit într-o singură linie.

Șirurile cu ghilimele simple și duble sunt în esență același lucru. Nu există convenții cu privire la utilizarea unui tip de ghilimele sau altul, dar în general se recomandă utilizarea unui tip în mod consecvent în scripturile programelor.

„Acest șir folosește ghilimele simple.”;
„Acest șir folosește ghilimele duble.”;

În al treilea rând și cel mai nou mod crearea unui șir se numește literal șablon. Literele șablonului sunt scrise în interiorul ghilimelelor (numite și backtick) și funcționează la fel ca șiruri obișnuite Cu mai multe funcții suplimentare pe care ne vom uita în acest articol.

`Acest șir folosește backticks.`;

Cel mai simplu mod de a vizualiza rezultatul unui șir este să îl introduceți în consolă folosind console.log().

console.log("Acesta este un șir în consolă.");
Acesta este un șir în consolă.

Pentru alții într-un mod simplu pentru a solicita valoarea unui șir este o fereastră pop-up în browser care poate fi apelată folosind alert():

alert("Acesta este un șir într-o alertă.");

Această linie va deschide o fereastră de notificare în browser cu următorul text:

Acesta este un șir dintr-o alertă.

Metoda alert() este folosită mai rar deoarece alertele trebuie să fie închise în mod constant.

Stocarea șirurilor în variabile

Variabilele din JavaScript sunt denumite containere care stochează valori folosind Cuvinte cheie var, const sau let. Șirurile pot fi alocate variabilelor.

const newString = "Acesta este un șir alocat unei variabile.";

Variabila newString conține acum un șir care poate fi referit și afișat folosind consola.

console.log(newString);
Acesta este un șir atribuit unei variabile.

Atribuind șiruri de caractere variabilelor, nu trebuie să tastați din nou șirul de fiecare dată când doriți să-l scoateți, ceea ce face mai ușor să lucrați cu șiruri în cadrul programelor.

Concatenarea șirurilor

Concatenarea șirurilor este procesul de combinare a două sau mai multe șiruri într-unul singur linie nouă. Concatenarea se face folosind operatorul +. Simbolul + este și operatorul de adunare în operațiile matematice.

De exemplu, încercați să concatenați două șiruri scurte:

„Marea” + „cal”;
calut de mare

Concatenarea unește sfârșitul unui șir de începutul altui șir fără a introduce spații. Pentru a avea un spațiu între linii, acesta trebuie adăugat la sfârșitul primei linii.

„Marea” + „cal”;
Calut de mare

Concatenarea vă permite să concatenați șiruri și variabile cu valori de șir.



const favePoem = "Poezia mea preferată este " + poem + " de " + autor ".";

Noile șiruri rezultate din concatenare pot fi folosite în program.

Variabile cu literale șablon

Una dintre caracteristicile literalelor șablon este capacitatea de a include expresii și variabile în șir. În loc de concatenare, puteți folosi sintaxa $() pentru a insera o variabilă.

const poem = „Oceanul larg”;
const autor = "Pablo Neruda";
const favePoem = `Poezia mea preferată este $(poemul) de $(autor).`;
Poezia mea preferată este Oceanul larg de Pablo Neruda.

Această sintaxă vă permite să obțineți același rezultat. Literalele de șablon facilitează concatenarea șirurilor.

Literale de șir și valori de șir

După cum probabil ați observat, toate șirurile sunt scrise între ghilimele sau ghilimele inverse, dar atunci când iese, șirul nu conține ghilimele.

"Dincolo de mare";
Dincolo de mare

Un șir literal este un șir așa cum apare în cod sursa, inclusiv ghilimele. Valoarea șirului este șirul care apare în rezultat (fără ghilimele).

ÎN în acest exemplu„Dincolo de mare” este un șir literal, iar Beyond the Sea este o valoare de șir.

Traversând citate și apostrofe în șiruri

Deoarece ghilimelele sunt folosite pentru a desemna șiruri, există reguli speciale pentru utilizarea apostrofurilor și a ghilimelelor în șiruri. De exemplu, JavaScript va interpreta un apostrof în mijlocul unui șir cu ghilimele simple ca un ghilimele de închidere și va încerca să citească restul șirului dorit ca cod.

Luați în considerare acest exemplu:

const brokenString = „Sunt un șir rupt”;
console.log(brokenString);
necunoscut: simbol neașteptat (1:24)

Același lucru se întâmplă dacă încercați să utilizați ghilimele duble în interiorul unui șir ghilimele duble. Interpretul nu va observa diferența.

Pentru a evita astfel de erori, puteți utiliza:

  • Sintaxă de șiruri diferite.
  • Simboluri de evacuare.
  • Literal șablon.

Sintaxă alternativă a șirurilor

Cel mai simplu mod de a ocoli această problemă este să utilizați sintaxa opusă celei pe care o utilizați în script. De exemplu, puneți șiruri cu apostrofe între ghilimele duble:

„Folosim în siguranță un apostrof între ghilimele duble”.

Șirurile cu ghilimele pot fi incluse între ghilimele simple:

„Apoi a spus: „Bună, lume!”;

Combinând ghilimele simple și duble, puteți controla afișarea ghilimelelor și apostrofelor în șiruri. Totuși, acest lucru va afecta consistența sintaxei din fișierele de proiect, făcându-le dificil de întreținut.

Escape caracter \

Folosind o bară oblică inversă, JavaScript nu va interpreta ghilimele ca ghilimele de închidere.

Combinația \' va fi întotdeauna tratată ca un apostrof și \" ca ghilimele duble, fără excepții.

Acest lucru permite utilizarea apostrofurilor în șiruri cu ghilimele simple și a ghilimelelor în șiruri cu ghilimele duble.

„Folosim în siguranță un apostrof între ghilimele simple.”
„Atunci a spus: „Bună ziua, lume!””;

Această metodă pare puțin dezordonată. Dar este necesar dacă aceeași linie conține atât un apostrof, cât și ghilimele duble.

Literale șablon

Literalele șablonului sunt definite prin ghilimele înapoi, astfel încât atât ghilimelele duble, cât și apostrofele pot fi utilizate în siguranță, fără nicio manipulare suplimentară.

„Folosim în siguranță apostrofe și „ghilimele” într-un literal șablon.”;

Literalele șablonului nu numai că evită erorile atunci când se afișează ghilimele și apostrofele, dar oferă și suport pentru expresii inline și blocuri cu mai multe linii, așa cum se discută în secțiunea următoare.

Linii cu mai multe linii și linie nouă

În unele situații este necesar să se insereze un caracter de nouă linie sau o întrerupere de linie. Caracterele de escape \n sau \r vor ajuta la inserarea unei noi linii în rezultatul codului.

const threeLines = "Acesta este un șir\ncare se întinde pe\ntrei linii.";
Acesta este un șir
care se întinde peste tot
trei rânduri.

Aceasta va împărți ieșirea în mai multe linii. Totuși, dacă codul conține linii lungi, vor fi dificil de lucrat și de citit. Pentru a afișa un șir pe mai multe linii, utilizați operatorul de concatenare.

const threeLines = „Acesta este un șir\n” +
„care se întinde peste\n” +
„trei rânduri.”;

De asemenea, puteți evada dintr-o linie nouă folosind caracterul de escape \.

const threeLines = „Acesta este un șir\n\
care se întinde peste\n\
trei rânduri.”;

Notă: Această metodă nu este recomandată deoarece poate cauza probleme în unele browsere.

Pentru a vă face codul ușor de citit, utilizați literale șablon. Acest lucru elimină concatenarea și caracterele de evadare.

const threeLines = `Acesta este un șir
care se întinde peste tot
trei rânduri.`;
Acesta este un șir
care se întinde peste tot
trei rânduri.

Deoarece pot folosi diferite baze de cod standarde diferite, este important să cunoașteți toate modalitățile de a rupe pe o linie nouă și de a crea șiruri cu mai multe linii.

Concluzie

Acum cunoașteți principiile de bază ale lucrului cu șiruri în JavaScript, puteți crea șiruri și literale șablon, puteți efectua concatenare și traversare și puteți atribui șiruri variabilelor.

Etichete:

Capabilitati orientate pe obiecte si tablouri asociative JavaScript, ca „cadru” semantic pentru utilizarea funcțiilor și construcțiilor pentru procesarea șirurilor, prezintă un interes deosebit pentru programarea proceselor de procesare a informațiilor pe baza conținutului său semantic. Pe JavaScript funcțiile pentru lucrul cu șiruri de caractere pot fi combinate în propriile constructe semantice, simplificând codul și formalizând domeniul subiectului sarcini.

În versiunea clasică, procesarea informațiilor este în primul rând funcții de șir. Fiecare funcție și construcție a limbajului are propriile sale caracteristici în sintaxa și semantica JavaScript. Metodele de lucru cu șiruri de caractere aici au propriul stil, dar în uz obișnuit este doar sintaxă în cadrul semanticii simple: căutare, înlocuire, inserare, extragere, conotație, schimbare majuscule...

Descrierea variabilelor șir

Construcția var este folosită pentru a declara un șir. Puteți să-i setați imediat valoarea sau să o generați în timpul execuției algoritmului. Puteți utiliza ghilimele simple sau duble pentru un șir. Dacă trebuie să conțină ghilimele, trebuie să fie scapat cu caracterul „”.

Un șir notat cu ghilimele duble necesită evadarea ghilimelelor interioare. De asemenea, cel marcat cu ghilimele simple este esențial pentru prezența ghilimelelor simple în interior.

În acest exemplu, șirul „str_dbl” listează caractere speciale utile care pot fi folosite în șir. În acest caz, caracterul „” însuși este scapat.

Un șir este întotdeauna o matrice

JavaScript poate funcționa cu șiruri într-o varietate de moduri. Sintaxa limbajului oferă multe opțiuni. În primul rând, nu trebuie să uităm niciodată că (în contextul descrierilor făcute):

  • str_isV => "V";
  • str_chr => „’”;
  • str_dbl => "a".

Adică, caracterele șirului sunt disponibile ca elemente de matrice, cu fiecare caracter special este un singur personaj. Evadarea este un element de sintaxă. Nu este plasat niciun „ecran” pe linia reală.

Utilizarea funcției charAt() are un efect similar:

  • str_isV.charAt(3) => "V";
  • str_chr.charAt(1) => „’”;
  • str_dbl.charAt(5) => „a”.

Programatorul poate folosi orice opțiune.

Funcții de bază ale șirurilor

JavaScript gestionează șirurile de caractere puțin diferit față de alte limbi. Numele variabilei (sau șirul în sine) este urmat de numele funcției, despărțit de un punct. De obicei, funcțiile șir sunt numite metode în stilul sintaxei limbajului, dar primul cuvânt este mai familiar.

Cea mai importantă metodă a unui șir (mai corect, o proprietate) este lungimea acestuia.

  • var xStr = str_isV.lungime + '/' + str_chr.lungime + '/' + str_dbl.lungime.

Rezultat: 11/12/175 conform rândurilor descrierii de mai sus.

Cea mai importantă pereche de funcții de șir este împărțirea unui șir într-o matrice de elemente și îmbinarea matricei într-un șir:

  • split(s [, l]);
  • alăturați(e).

În primul caz, șirul este împărțit la caracterul delimitator „s” într-o matrice de elemente în care numărul de elemente nu depășește valoarea „l”. Dacă cantitatea nu este specificată, întreaga linie este întreruptă.

În al doilea caz, matricea de elemente este îmbinată într-o singură linie printr-un delimitator dat.

O caracteristică notabilă a acestei perechi: împărțirea se poate face folosind un separator, iar îmbinarea se poate face folosind altul. În acest context, JavaScript poate funcționa cu șiruri „în afara” sintaxei limbajului.

Funcții clasice de șir

Funcții comune de procesare a șirurilor:

  • căutare;
  • probă;
  • înlocuire;
  • transformare.

Reprezentat prin metode: indexOf(), lastIndexOf(), substr(), substring(), toLowerCase(), toUpperCase(), concan(), charCodeAt() și altele.

În JavaScript, lucrul cu șiruri este reprezentat de o mare varietate de funcții, dar acestea fie se dublează între ele, fie sunt lăsate pentru algoritmi vechi și compatibilitate.

De exemplu, folosirea metodei concat() este acceptabilă, dar este mai ușor să scrieți:

  • str = str1 + str2 + str3;

Folosirea funcției charAt() are, de asemenea, sens, dar utilizarea charCodeAt() are o semnificație practică reală. În mod similar, pentru JavaScript, o întrerupere de linie are o semnificație specială: în contextul afișării, de exemplu, într-un mesaj alert(), este „n”; într-un construct de generare de conținut de pagină, este „
" În primul caz este doar un caracter, iar în al doilea este un șir de caractere.

Șiruri și expresii regulate

În JavaScript, lucrul cu șiruri include un mecanism expresii obisnuite. Acest lucru permite căutările complexe, preluarea și conversiile șirurilor să fie efectuate în browser fără a contacta serverul.

Metoda de potrivire găsește și înlocuiește potrivirea găsită cu valoarea dorită. Expresiile regulate sunt implementate în JavaScript în nivel inalt, în esență, sunt complexe și, datorită specificului aplicației, transferă centrul de greutate de la server la browserul clientului.

Atunci când utilizați metodele de potrivire, căutare și înlocuire, nu ar trebui să acordați atenția cuvenită testării întregii game de valori acceptabile ale parametrilor inițiali și ale șirurilor de căutare, ci și să evaluați încărcarea browserului.

Exemple de expresii regulate

Domeniul de aplicare al expresiilor regulate pentru procesarea șirurilor este extins, dar necesită o mare grijă și atenție din partea dezvoltatorului. În primul rând, expresiile regulate sunt folosite atunci când se testează introducerea utilizatorului în câmpurile de formular.

Iată funcții care verifică dacă intrarea conține un număr întreg (schInt) sau un număr real (schReal). Următorul exemplu arată cât de eficient este procesarea șirurilor de caractere verificându-le numai pentru caractere valide: schText - numai text, schMail - adresa corecta E-mail.

Este foarte important să rețineți că în JavaScript, caracterele și șirurile de caractere necesită o atenție sporită la locale, mai ales atunci când trebuie să lucrați cu chirilic. În multe cazuri, este recomandabil să specificați codurile reale de caractere, mai degrabă decât semnificațiile acestora. Acest lucru se aplică în primul rând literelor rusești.

Trebuie remarcat în special că nu este întotdeauna necesar să finalizați sarcina așa cum este stabilită. În special, în ceea ce privește verificarea numerelor întregi și reale: vă puteți descurca nu cu metodele clasice de șir, ci cu construcții de sintaxă obișnuite.

Șiruri orientate pe obiecte

În JavaScript, lucrul cu șiruri de caractere este reprezentat de o gamă largă de funcții. Dar acesta nu este un motiv bun pentru a le folosi în forma lor originală. Sintaxa și calitatea funcțiilor sunt impecabile, dar este o soluție unică.

Orice utilizare a funcțiilor șir implică procesarea semnificației reale, care este determinată de date, domeniul de aplicare și scopul specific al algoritmului.

Soluția ideală este întotdeauna interpretarea datelor pentru semnificația lor.

Reprezentând fiecare parametru ca obiect, puteți formula funcții care să lucreze cu el. Mereu despre care vorbim despre prelucrarea simbolurilor: numerele sau șirurile sunt secvențe de simboluri organizate într-un mod specific.

Mânca algoritmi generali, și există unele private. De exemplu, un nume de familie sau un număr de casă sunt șiruri de caractere, dar dacă în primul caz sunt permise doar litere rusești, atunci în al doilea caz numere sunt permise litere rusești și pot exista cratime sau indici separați printr-o bară oblică. Indicii pot fi alfabetici sau numerici. Casa poate avea clădiri.

Nu este întotdeauna posibil să prevăd toate situațiile. Acest punct importantîn programare. Este rar ca un algoritm să nu necesite modificare și, în majoritatea cazurilor, este necesară ajustarea sistematică a funcționalității.

Formalizarea informațiilor de linie procesate sub forma unui obiect îmbunătățește lizibilitatea codului și permite aducerea acestuia la nivelul de procesare semantică. Acesta este un alt grad de funcționalitate și semnificativ cea mai buna calitate cod cu o mai mare fiabilitate a algoritmului dezvoltat.

Acest articol va vorbi despre ce este șiruri în JavaScriptși metodele de lucru cu acestea.

Șirurile sunt pur și simplu grupuri de caractere, cum ar fi „JavaScript”, „Bună lume!” ", "http://www.quirksmode.org" sau chiar "14". Pentru a programa în JavaScript, trebuie să știți ce sunt șirurile și cum să lucrați cu ele, deoarece va trebui să le folosiți foarte des. Multe lucruri precum pagini URL, valori Parametrii CSS iar elementele de intrare din formular sunt toate șiruri.

Mai întâi voi încerca să explic lucrul cu sfori, apoi diferența dintre în JavaScript. Chiar dacă aveți experiență de programare într-o altă limbă, citiți cu atenție această parte. La final voi vorbi despre cele mai importante șiruri în JavaScript.

Elementele de bază ale șirurilor

Să ne uităm la elementele de bază ale lucrului cu șiruri în JavaScript.

Folosind ghilimele

Cand anunti șiruri în JavaScript sau lucrați cu ei, includeți-le întotdeauna între ghilimele simple sau duble. Acest lucru îi spune browserului că are de-a face cu un șir. Nu amestecați utilizarea ghilimelelor în codul dvs.; dacă începeți o linie cu un singur ghilimeleu și încheiați cu ghilimele duble, JavaScript nu va înțelege ce ați vrut să spuneți. De obicei, folosesc ghilimele simple atunci când lucrez cu șiruri, deoarece am ales să folosesc ghilimele duble pentru HTML și ghilimele simple pentru JavaScript. Desigur, puteți face totul diferit, dar vă sfătuiesc să veniți cu o regulă similară pentru dvs.

Să ne imaginăm două rânduri pe care le vom folosi pe parcursul articolului:

Var a = „Bună lume!”; var b = „Sunt student.”;

Acum am declarat două variabile, „a” și „b”, și le-am atribuit valori de șir. După aceea putem lucra cu ei, dar mai întâi să rezolvăm o problemă: să presupunem că am scris:

Var b = „Sunt student.”;

Șirul conține o ghilimă simplă suplimentară, iar JavaScript consideră că șirul este complet și afișează un mesaj de eroare fără a înțelege ce urmează. Prin urmare ai nevoie citat de evadare, spunând browserului să-l trateze ca pe un caracter și nu ca pe un sfârșit de linie. Acest lucru se face folosind o bară oblică inversă înainte de citat:

Var b = „Sunt student.”;

Rețineți că puteți introduce ghilimele duble într-un șir fără a le scăpa. Deoarece utilizați ghilimele simple pentru a începe și a încheia șirul,

Var b = „Sunt un „elev”.”;

perceput fără probleme. Ghilimele duble sunt tratate automat ca părți ale unui șir, mai degrabă decât o comandă.

Funcții încorporate

Odată ce șirurile au fost definite, puteți începe să le utilizați. De exemplu, poți concatenează un șir cu altul, sau luați un subșir din șirul „b” format din al doilea până la al patrulea caracter și introduceți-l în mijlocul șirului „a” sau determinați care caracter este al doisprezecelea din „a”, câte caractere sunt în „b ”, indiferent dacă conțin litera „q” etc.

Pentru a face acest lucru, puteți utiliza funcțiile încorporate pe care JavaScript le predefinit pentru fiecare linie. Una dintre ele, „lungime”, returnează lungimea șirului. Adică, dacă doriți să calculați lungimea „Bună lume!”, scrieți:

Var c = „Bună lume!”.lungime;

Anterior, am atribuit acest șir variabilei „a”. Astfel, ați făcut din variabila „a” un șir, deci funcția „lungime” poate fi aplicată și acesteia și următoarea operație va da acelasi rezultat:

Var c = a.lungime;

Amintiți-vă că puteți folosi „lungimea” pentru orice șir - este o funcție încorporată. Puteți calculați lungimea oricărui șir, de exemplu: „location.href” sau „document.title” sau declarat de dvs.

Mai jos voi prezenta o listă de metode și proprietăți încorporate comune.

Șiruri și numere

Unele limbaje de programare vă cer să specificați dacă o variabilă este un număr sau un șir înainte de a face orice altceva cu ea. JavaScript este mai ușor se referă la diferența dintre șiruri și numere. De fapt, puteți adăuga chiar și numere cu șiruri:

Var c = a + 12;

În unele limbaje de programare, procesarea unui astfel de șir va duce la o eroare. La urma urmei, „a” este un șir, iar „12” este un număr. Cu toate acestea, JavaScript încearcă să rezolve problema presupunând că „12” este și un șir. Astfel „c” devine „Hello world!12”. Aceasta înseamnă că, dacă utilizați „+” cu un șir și un număr, JavaScript încearcă să facă din număr un șir. Dacă aplicați operații matematice unui șir, JavaScript încearcă să îl transforme într-un număr. Dacă nu este posibil să convertiți un șir într-un număr (de exemplu, din cauza prezenței literelor în el), JavaScript returnează NaN - „Nu este un număr - nu este un număr”.

În cele din urmă, în JavaScript nu există nicio diferență între numere întregi și numere în virgulă mobilă.

Număr → șir

Pentru conversie număr în șir introduce:

Var c = (16 * 24) / 49 + 12; d = c.toString();

Apoi puteți aplica toate metodele de șir la „d” și „c” conține încă un număr.

Șir → număr

Dacă doriți să convertiți un șir într-un număr, asigurați-vă mai întâi că acesta constă numai din caractere 0-9. Pentru a face acest lucru, pur și simplu înmulțesc șirul cu 1.

Var c = "1234"; d = c * 1;

Deoarece înmulțirea funcționează numai cu numere, JavaScript transformă șirul într-un număr dacă este posibil. În caz contrar, rezultatul este NaN.

Rețineți că dacă scrieți:

Var c = "1234"; d = c + 0;

Rezultatul va fi „12340” deoarece JavaScript folosește „+” pentru a concatena șiruri, în loc să le adauge.

Proprietăți și metode șiruri

Deci ce putem face cu corzile? Asocierea este un caz special, dar toate celelalte comenzi (metode) pot fi folosite cu orice șir folosind construcția:

String_name.method();

Listă de metode JavaScript încorporate pentru lucrul cu șiruri

Concatenare - unirea șirurilor

În primul rând, puteți concatena șiruri adunându-le împreună, astfel:

Document.write(a + b);

rezultatul va fi: „Bună lume! Sunt student.” " Dar bineînțeles că vrei să existe spațiu între propoziții. Pentru a face acest lucru, scrieți codul după cum urmează:

Document.write(a + " " + b);

Deci vom conecta trei șiruri: „a”, „“”” (un spațiu) și „b”, rezultând: „Bună lume!” Sunt un student. »

Puteți folosi chiar și numere sau calcule, de exemplu:

Document.write(a + 3 * 3 + b);

Acum concatenăm șirul „a”, apoi rezultatul expresiei „3 * 3”, considerat ca șir, și „b”, obținând: „Bună lume!9 Sunt student. »

Trebuie să fiți atenți când utilizați adaos. Echipă

Document.scrie(a + 3 + 3 + b);

conectează 4 șiruri: „a”, „3”, „3” și „b” deoarece „+” în în acest caz,înseamnă „a uni rândurile”, nu „a adăuga” și rezultatul este: „Bună lume!33 Sunt student. " Dacă doriți să adăugați 3 și 3 înainte de a crea un șir, utilizați paranteze.

Document.write(a + (3 + 3) + b);

Această expresie leagă șirul „a”, rezultatul expresiei „3 + 3” și „b”, rezultând: „Bună lume!6 Sunt student. "

Index de

Una dintre cele mai utilizate metode încorporate este „indexOf”. Fiecare caracter are propriul index care conține numărul poziției sale în linie. Rețineți că indicele primului caracter este 0, al doilea este 1 etc. Astfel, indicele caracterului „w” din șirul „a” este 6.

Folosind „indexOf” putem scoate indexul unui caracter. Scrieți „.indexOf(” „)” după numele liniei și introduceți caracterul pe care îl căutați între ghilimele. De exemplu:

Var a = „Bună lume!”; document.write(a.indexOf("w"));

va reveni 6 . Dacă un caracter apare de mai multe ori, această metodă returnează prima apariție. Acesta este

Document.write(a.indexOf("o"));

va returna 4 deoarece este indexul primului „o” din șir.

De asemenea, puteți căuta o combinație de simboluri. (Desigur, acesta este și un șir, dar pentru a evita confuzia, nu o voi numi așa). „indexOf” returnează poziția primului caracter al combinației. De exemplu:

Document.write(a.indexOf("o w"));

va returna si 4 pentru ca este indexul lui „o”.

Mai mult, este posibil să căutați un personaj după un anumit index. Dacă intri

Document.write(a.indexOf("o", 5));

atunci vei obține indexul primului „o” după caracterul cu indice 5 (acesta este un spațiu), adică rezultatul va fi 7 .

Dacă caracterul sau combinația nu apare în șir, „indexOf” va returna „-1”. Aceasta este în esență cea mai populară utilizare a „indexOf”: verificarea existenței unei anumite combinații de caractere. Este nucleul scriptului care definește browserul. Pentru a defini IE luați linia:

Navigator.userAgent;

și verificați dacă conține „MSIE”:

If(navigator.userAgent.indexOf("MSIE") != -1) ( //Orice acțiuni cu Internet Explorer)

Dacă indexul „MSIE” nu este „-1” (dacă „MSIE” apare oriunde în linie), atunci browserul curent este IE.

ultimulIndexOf

Există, de asemenea, o metodă „lastIndexOf” care returnează ultima apariție a unui caracter sau a unei combinații. Face opusul „indexOf”. Echipă

Var b = „Sunt student.”; document.write(b.lastIndexOf("t"));

va returna 13 deoarece este indexul ultimului „t” din șir.

charAt

Metoda „charAt” returnează caracterul la poziția specificată. De exemplu, când intri

Var b = „Sunt student.”; document.write(b.charAt(5));

rezultatul este „a” deoarece este personajul aflat pe poziția a șasea (rețineți că indexul primului caracter începe de la 0).

lungime

Metoda „lungime” returnează lungimea șirului.

Var b = „Sunt student.”; document.write(b.lungime);

va returna „15”. Lungimea șirului este cu 1 mai mare decât indexul ultimului caracter.

Despică

„split” este o metodă specială care vă permite să împărțiți un șir la anumite caractere. Folosit atunci când rezultatul trebuie stocat într-o matrice, mai degrabă decât într-o variabilă simplă. Să împărțim „b” pe spații:

Var b = „Sunt student”. var temp = new Array(); temp = b.split(" ");

Acum șirul este împărțit în 4 subșiruri, care sunt plasate în matricea „temp”. Spațiile în sine au dispărut.

Temp = "I"; temp = "sunt"; temp = "a"; temp = „student”;

Metoda „substring” este folosită pentru a scădea o parte dintr-un șir. Sintaxa metodei: „.substring(first_index, last_index)”. De exemplu:

Var a = „Bună lume!”; document.write(a.substring(4, 8));

va reveni „o wo”, de la primul „o” (indice 4) la al doilea (indice 7). Rețineți că „r” (index 8) nu face parte din subșir.

De asemenea, puteți scrie:

Var a = „Bună lume!”; document.write(a.substring(4));

Acest lucru va da întregul subșir „o lume! „, începând de la caracterul cu indicele 4 până la sfârșitul rândului.

substr

Există și o metodă „substr” care funcționează puțin diferit. Nu folosește numărul de index ca al doilea argument, ci numărul de caractere. Acesta este

Document.write(a.substr(4, 8));

returnează 8 caractere, începând cu caracterul de la indicele 4 (“o”), adică rezultatul este: “ o lume! »

toLowerCase și toUpperCase

În cele din urmă, 2 metode care îți pot fi uneori utile: „toLowerCase” convertește întregul șir în minuscule, iar „toUpperCase” îl convertește în majuscule.

Var b = „Sunt student.”; document.write(b.toUpperCase());

Drept urmare, obținem „EU SUNT UN STUDENT. "

De la autor: Salutări, prieteni. În mai multe articole anterioare cu care ne-am familiarizat tip numeric date în JavaScript și a lucrat cu numere. Acum este timpul să lucrați cu șiruri în JavaScript. Să aruncăm o privire mai atentă la tip șir date în JavaScript.

Ne-am familiarizat deja pe scurt cu tipul șirului și, de fapt, am aflat doar ce este un șir și cum este scris. Să aruncăm acum o privire mai atentă asupra șirurilor și metodelor de lucru cu ele.

După cum vă amintiți, orice text din JavaScript este un șir. Șirul trebuie să fie cuprins între ghilimele, simplu sau dublu, nu are nicio diferență:

var hi = "bună", nume = "Ioan";

var hi = "bună ziua",

nume = "Ioan";

Acum am scris un singur cuvânt în variabile. Dar dacă vrem să înregistrăm o cantitate mare de text? Da, nicio problemă, hai să scriem niște text de pește într-o variabilă și să-l trimitem în consolă:

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit. Quos nisi, culpa exercitationem!"; console.log(text);

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit. Quos nisi, culpa exercitationem!";

consolă. jurnal(text);

Lucrări. Dar dacă există mult text, probabil că vom avea întreruperi de rând pentru început alineat nou o nouă linie. Să încercăm să adăugăm o întrerupere de linie ca aceasta la textul nostru:

După cum puteți vedea, al meu editor de text deja evidențiat cu roșu posibilă problemă. Să vedem cum reacționează browserul la o întrerupere de linie în această interpretare:

Eroare de sintaxă, cum era de așteptat. Cum să fii? Există mai multe moduri de a stoca text cu mai multe linii într-o variabilă. Poate ați ghicit deja despre una dintre ele, vorbim despre concatenarea șirurilor:

După cum puteți vedea, editorul reacționează deja normal la această opțiune de a scrie un șir într-o variabilă. O altă opțiune este să utilizați backslash (\), care în JavaScript și în multe alte limbaje de programare este un caracter de escape care vă permite să lucrați în siguranță cu caractere speciale. Vom afla mai departe care sunt personajele speciale. Deci, să încercăm să facem ecran simbol invizibil linie de alimentare:

Ecranarea ne-a rezolvat și problema. Cu toate acestea, dacă ne uităm la consolă, atât concatenarea șirurilor, cât și scăparea fluxului de rând, rezolvând în același timp problema scrierii în program, nu a rezolvat problema afișării unui șir de mai multe linii pe ecran. În loc de o linie cu mai multe linii, vom vedea text pe o linie în consolă. Ce ar trebuii să fac?

Și aici ne va ajuta caracterul special newline - \n. Adăugând acest caracter special la linie în locul potrivit, vom spune interpretului că este necesar să se încheie în acest loc linia curentăși face o nouă linie.

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\nQuos nisi, culpa exercitationem!"; console.log(text);

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\

"Quos nisi, culpa exercitationem!";

consolă. jurnal(text);

De fapt, dacă nu te deranjează să scrii textul din cod într-o singură linie, atunci putem face asta:

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\nQuos nisi, culpa exercitationem!"; console.log(text);

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\nQuos nisi, culpa exercitationem!";

consolă. jurnal(text);

Rezultatul de pe ecran nu se va schimba; vom vedea text cu mai multe rânduri în consola browserului:

Chiar nu avem nevoie de caracterul de escape backslash din cod în această situație. Dar este de fapt necesar, așa cum s-a menționat mai sus, pentru a scăpa de caractere speciale. De exemplu, în interiorul unui șir pe care l-am închis între ghilimele simple, există un apostrof, adică ghilimele unice:

var text = "Lorem ipsum d"olor sit amet";

Buna ziua! În această lecție ne vom uita la modul în care puteți crea un șir și funcții pentru a lucra cu șiruri în JavaScript. În principiu, în JavaScript, orice variabilă de text este un șir, deoarece JavaScript nu este un limbaj de programare puternic tipizat (citiți despre tipurile de date). Și, de asemenea, pentru a lucra cu șiruri de caractere se folosește clasa String:

Var name1 = "Tommy";

Deci, utilizați constructorul String:

Var name1 = new String ("Tommy");

Prima metodă este folosită în principal, probabil pentru că este mai scurtă.

Clasa pentru lucrul cu strings String are destul de multe în arsenalul său set mare proprietăți și funcții cu care puteți efectua diverse manipulări cu șiruri.

Lungimea șirului

Proprietatea length vă permite să setați lungimea șirului. Această proprietate returnează un număr:

Var hello1 = „bună ziua lume”; document.write("În linie "" + salut + "" " + hello1.length + " caractere");

Căutați într-un șir

Pentru a găsi un anumit subșir într-un șir, se folosesc funcțiile indexOf() (returnează indexul primei apariții a subșirului) și lastIndexOf() (returnează indexul ultimei apariții a subșirului). Aceste funcții au două argumente:

  • Subșirul care de fapt trebuie găsit
  • Un argument opțional care specifică din ce caracter să caute un subșir într-un șir

Ambele funcții returnează un număr, care este indexul caracterului la care începe subșirul în șir. Dacă subșirul nu este găsit, va fi returnat numărul -1. Prin urmare, aceste funcții sunt utilizate în operatorii logici, deoarece, de regulă, trebuie doar să verificați dacă un șir conține sau nu un subșir, apoi în acest caz rezultatul acestor funcții este comparat cu -1.

Var str1 = „Bună Vasya!”; var podstr = "Petya"; if(str.indexOf(podstr) == -1)( document.write("Subșirul nu a fost găsit."); ) else (document.write("Subșirul găsit."); )

În exemplu, va fi afișat mesajul „Substring not found”, deoarece șirul „Peter” nu este conținut în șirul „Hello Vasya!”.

Selectarea subșirurilor

Pentru a tăia un subșir dintr-un șir, sunt folosite funcții precum substr() și substring().

Funcția substring() are 2 argumente:

  • poziția de pornire a caracterului în linie, începând de la care linia va fi tăiată
  • poziţia finală la care trebuie tăiată sfoara
var hello1 = "bună lume. Adio lume"; var world1 = hello1.substring(7, 10); //de la al 7-lea la al 10-lea index document.write(world1); //lume

Funcția substr() ia, de asemenea, indexul de pornire al subșirului ca prim parametru și lungimea subșirului ca al doilea parametru:

Var hello1 = "bună lume. Adio lume"; var bye1 = hello1.substr(12, 2); document.write(bye1);//Înainte

Și dacă al 2-lea parametru nu este specificat, atunci linia va fi trunchiată până la sfârșit:

Var hello1 = "bună lume. Adio lume"; var bye1 = hello1.substr(12); document.write(bye1); //pa pace

Controlul majusculelor cu litere

Pentru a schimba majusculele literelor, adică pentru a face toate literele mici sau majuscule, utilizați funcțiile toLowerCase() (pentru a converti caracterele în minuscule, adică toate literele vor fi mici) și toUpperCase() (pentru a converti caracterele în minuscule). majuscule, adică toate literele vor fi mari).

Var hello1 = "Bună ziua, Jim"; document.write(hello1.toLowerCase() + "
"); //salut Jim document.write(hello1.toUpperCase() + "
"); //BUNA JIM

Obținerea unui simbol după indexul său

Pentru a găsi un anumit caracter dintr-un șir prin indexul său, sunt utilizate funcțiile charAt() și charCodeAt(). Ambele funcții au ca argument un index de caractere:

Var hello1 = "Bună ziua, Jim"; document.write(hello1.charAt(3) + "
"); //în document.write(hello1.charCodeAt(3) + "
"); //1080

Dar numai dacă funcția charAt() returnează caracterul în sine ca rezultat al activității sale, atunci funcția charCodeAt() va returna codul numeric Unicode al acestui caracter.

Eliminarea spatiilor

Pentru a elimina spațiile dintr-un șir, utilizați funcția trim():

Var hello1 = "Bună ziua, Jim"; var beforeLen = hello1.lungime; hello1 = hello1.trim(); var afterLen = hello1.length; document.write("Lungimea liniei până la: " + beforeLen + "
"); //15 document.write("Lungimea liniei după: " + afterLen + "
"); //10

Concatenarea șirurilor

Funcția concat() vă permite să concatenați 2 șiruri de caractere:

Var hello1 = "Bună ziua"; var world1 = „Vasya”; hello1 = hello1.concat(world1); document.write(bună ziua); //Bună, Vasya

Înlocuirea subșirurilor

Funcția înlocuire() vă permite să înlocuiți un subșir cu altul:

Var hello1 = „Bună ziua”; hello1 = hello1.replace("zi", "seara"); document.write(hello1); //Bună seara

Primul argument al funcției indică ce subșir trebuie înlocuit, iar al 2-lea argument indică cu ce subșir trebuie înlocuit.

Împărțirea unui șir într-o matrice

Funcția split() vă permite să împărțiți un șir într-o matrice de subșiruri folosind un delimitator specific. Puteți folosi un șir care este transmis metodei:

Var mes = „Vremea a fost frumoasă astăzi”; var stringArr = mes.split(" "); for(var str1 în stringArr) document.write(stringArr + "
");

REZULTATE

Șirurile pot fi create pur și simplu folosind o variabilă obișnuită, doar introduceți text în ea sau folosind clasa String.

Pentru a afla lungimea unui șir, utilizați proprietatea length.

Șirurile sunt comparate literă cu literă. Prin urmare, dacă există un număr într-un șir, atunci astfel de numere pot fi comparate incorect; pentru aceasta, șirul trebuie convertit la tipul număr (citiți despre clasa Number).

De asemenea, atunci când comparați șiruri, ar trebui să țineți cont de cazul literelor. Majusculă mai puțin decât unul mic, iar litera е este în afara alfabetului în general.

SARCINI

Schimbarea majusculei ultimei litere dintr-un șir

Scrieți o funcție lastLetterStr(str) care va schimba majusculele ultimei litere, făcând-o majusculă.

Verificare spam

Scrieți o funcție provSpam(str) care va verifica un șir pentru prezența subșirurilor: „spam”, „sex”, „xxx”. Și returnează true dacă există date subșir și false în caz contrar.

Găsiți numărul

Scrieți o funcție extrNum(str) care obține un număr dintr-un șir dacă șirul conține un număr și funcția număr ar trebui să revină. De exemplu, există o linie „120 UAH” care trebuie returnată de la linia 120.

Și pentru a consolida acest lucru, vizionați videoclipul despre lucrul cu șiruri în JavaScript.