Găsiți toate aparițiile unui subșir într-un șir javascript. Funcții de bază de șir. Literale de șir și valori de șir

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 caracter specificîntr-un șir după 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.

Salutări tuturor celor care au decis să învețe un limbaj orientat spre prototip. Ultima dată ți-am spus despre asta, iar astăzi ne vom uita șiruri JavaScript. Deoarece în această limbă toate elementele de text sunt șiruri de caractere (nu există un format separat pentru caractere), puteți ghici că această secțiune ocupă o parte semnificativă în învățarea sintaxei js.

De aceea, în această publicație, vă voi spune cum sunt create elementele șir, ce metode și proprietăți sunt furnizate pentru acestea, cum să convertiți corect șirurile, de exemplu, convertiți într-un număr, cum puteți extrage subșirul dorit și multe altele. În plus, voi atașa exemple codul programului. Acum să trecem la treabă!

Sintaxă variabilă șir

În limbajul js, toate variabilele sunt declarate folosind cuvântul cheie var, iar apoi, în funcție de formatul parametrilor, se determină tipul variabilei declarate. După cum vă amintiți din JavaScript, nu există o tastare puternică. De aceea există această situație în cod.

La inițializare valori variabile poate fi încadrat dublu, simplu și începând din 2015, între ghilimele simple distorsionate. Mai jos am atașat exemple ale fiecărei metode de declarare a șirurilor.

Vreau să acord o atenție deosebită celei de-a treia metode. Are o serie de avantaje.

Cu ajutorul acestuia, puteți efectua cu ușurință o întrerupere de linie și va arăta astfel:

alert(`mai multe

mă transfer

Și a treia metodă vă permite să utilizați construcția $(…). Acest instrument este necesar pentru a introduce interpolare. Nu vă alarmați, acum vă spun despre ce este vorba.

Datorită lui $(…) puteți introduce nu numai valori variabile în șiruri de caractere, ci și efectuați operații aritmetice și logice cu acestea, metode de apelare, funcții etc. Toate acestea se numesc un singur termen - interpolare. Consultați un exemplu de implementare a acestei abordări.

1 2 3 var pen = 3; var creion = 1; alert(`$(pix) + $(creion*5) = $(pix + creion)`);

var pen = 3; var creion = 1; alert(`$(pix) + $(creion*5) = $(pix + creion)`);

Ca rezultat, expresia „3 + 1*5 = 8” va fi afișată pe ecran.

În ceea ce privește primele două moduri de declarare a șirurilor de caractere, nu există nicio diferență între ele.

Să vorbim puțin despre personaje speciale

Multe limbaje de programare au caractere speciale care ajută la manipularea textului în șiruri. Cel mai faimos dintre ele este ruptura de linie (\n).

Toate instrumentele similare încep inițial cu o bară oblică inversă (\) și sunt urmate de litere ale alfabetului englez.

Mai jos am atașat un mic tabel care listează câteva caractere speciale.

Ne aprovizionăm cu un arsenal greu de metode și proprietăți

Dezvoltatorii limbajului au oferit multe metode și proprietăți pentru a simplifica și optimiza lucrul cu șiruri. Și odată cu lansarea unui nou standard numit ES-2015 anul trecut, această listă a fost completată cu noi instrumente.

Lungime

Voi începe cu cea mai populară proprietate, care vă ajută să aflați lungimea valorilor variabilelor șir. Acest lungime. Se foloseste astfel:

var șir = „Unicorni”;

alert(string.lungime);

Răspunsul va afișa numărul 9. Această proprietate poate fi aplicată și valorilor în sine:

„Unicorni”.lungime;

Rezultatul nu se va schimba.

charAt()

Această metodă vă permite să extrageți un anumit caracter din text. Permiteți-mi să vă reamintesc că numerotarea începe de la zero, așa că pentru a extrage primul caracter dintr-un șir, trebuie să scrieți următoarele comenzi:

var șir = „Unicorni”;

alert(string.charAt(0));.

Cu toate acestea, rezultatul rezultat nu va fi un tip de caracter; va fi considerat în continuare un șir cu o singură literă.

De la toLowerCase() la UpperCase()

Aceste metode controlează cazul caracterelor. Când scrieți codul „Conținut”.

laMajuscule()întregul cuvânt va fi afișat cu majuscule.

Pentru efectul opus, ar trebui să utilizați „Conținut”. toLowerCase().

Index de()

Solicitat și remediul potrivit pentru a căuta un subșir. Ca argument, trebuie să introduceți cuvântul sau expresia pe care doriți să o găsiți, iar metoda returnează poziția elementului găsit. Dacă textul căutat nu a fost găsit, „-1” va fi returnat utilizatorului.

1 2 3 4 var text = "Organizați o căutare de flori!"; alert(text.indexOf("culoare")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

var text = "Organizați o căutare de flori!"; alert(text.indexOf("culoare")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

Rețineți că lastIndexOf() face același lucru, doar că caută de la sfârșitul propoziției.

Extragerea subșirurilor

Pentru această acțiune, au fost create trei metode aproximativ identice în js.

Să ne uităm mai întâi la asta subșir (început, sfârșit)Și felie (început, sfârșit). Ei lucrează la fel. Primul argument definește poziția de pornire din care va începe extracția, iar al doilea este responsabil pentru punctul final de oprire. În ambele metode, șirul este extras fără a include caracterul care se află la poziția finală.

var text = "Atmosfera"; alert(text.substring(4)); // va afișa „sphere” alert(text.substring(2, 5)); //afișează alertă „mos” (text.slice(2, 5)); //afișează „mos”

Acum să ne uităm la a treia metodă, care este numită substr(). De asemenea, trebuie să includă 2 argumente: startȘi lungime.

Prima specifică poziția de pornire, iar a doua specifică numărul de caractere care trebuie extrase. Pentru a urmări diferențele dintre aceste trei instrumente, am folosit exemplul anterior.

var text = "Atmosfera";

alert(text.substr(2, 5)); //afișează „mosfe”

Folosind fonduri transferate luând subșiruri, puteți elimina caracterele inutile din caracterele noi elemente inline, cu care programul funcționează apoi.

Răspuns()

Această metodă ajută la înlocuirea caracterelor și subșirurilor din text. Poate fi folosit și pentru a implementa înlocuiri globale, dar pentru a face acest lucru trebuie să includeți expresii regulate.

Acest exemplu va înlocui subșirul numai din primul cuvânt.

var text = "Atmosfera Atmosfera"; var newText = text.replace("Atmo","Strato") alert(newText) // Rezultat: Stratosphere Atmosphere

Și în asta implementare software Datorită simbolului expresiei regulate „g”, va fi efectuată o înlocuire globală.

var text = "Atmosfera Atmosfera"; var newText = text.replace(/Atmo/g,"Strato") alert(newText) // Rezultat: Stratosphere Stratosphere

Să facem conversia

JavaScript oferă doar trei tipuri de conversie a tipului de obiect:

  1. Numeric;
  2. Şir;
  3. boolean.

În publicația actuală voi vorbi despre 2 dintre ele, deoarece cunoștințele despre ele sunt mai necesare pentru lucrul cu șiruri.

Conversie numerică

Pentru a converti în mod explicit valoarea unui element într-o formă numerică, puteți utiliza Număr (valoare).

Există și o expresie mai scurtă: +"999".

var a = Number("999");

Conversie de șiruri

Executat de funcție alerta, precum și un apel explicit șir (text).

1 2 3 alert (999+ "super preț") var text = String(999) alert(text === "999");

alert (999+ "super preț") var text = String(999) alert(text === "999");

Pe această notă, am decis să-mi termin munca. Abonează-te la blogul meu și nu uita să distribui linkul către el prietenilor tăi. Îți doresc mult succes la studii. Pa! Pa!

Cu stima, Roman Chueshov

Citit: de 130 de ori

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 limbă Funcții JavaScript operațiile cu șiruri pot fi combinate în propriile construcții 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 semantică simplă: căutare, înlocuire, inserare, extragere, contenție, modificare 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. Pentru o linie puteți folosi single sau ghilimele duble. 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 î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

ÎN Funcționează JavaScript cu șiruri se face ușor diferit decât în ​​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.

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";

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 tranzițiilor. linie nouăîn JavaScript.

Crearea și vizualizarea unui șir

Există trei moduri de a crea un șir în JavaScript: le puteți scrie ghilimele simple(‘), în dublu (“) sau în backticks (`). 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ă reintroduceți ș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-un șir 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 acest exemplu, „Beyond the Sea” este un șir literal, iar Beyond the Sea este o valoare ș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.

Caracter de evadare \

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: