Javascript-linjen starter med. Javascript: arbejde med strenge, funktioner

Denne artikel vil tale om, hvad der er strenge i JavaScript og metoder til at arbejde med dem.

Strenge er simpelthen grupper af tegn, såsom "JavaScript", "Hej verden!" ", "http://www.quirksmode.org" eller endda "14". For at programmere i JavaScript skal du vide, hvad strenge er, og hvordan du arbejder med dem, da du skal bruge dem meget ofte. Mange ting, såsom side-URL'er, CSS-parameterværdier og formularinputelementer, er alle strenge.

Først vil jeg prøve at forklare arbejde med strenge, så forskellen mellem i JavaScript. Selvom du har erfaring med programmering på et andet sprog, så læs denne del omhyggeligt. Til sidst vil jeg tale om det vigtigste strenge i JavaScript.

Grundlæggende om strenge

Lad os se på det grundlæggende i at arbejde med strenge i JavaScript.

Brug af citater

Når du annoncerer strenge i JavaScript eller arbejd med dem, sæt dem altid i enkelte eller dobbelte anførselstegn. Dette fortæller browseren, at den har at gøre med en streng. Bland ikke brugen af ​​citater i din kode, hvis du starter en linje med et enkelt citat og slutter med et dobbelt citat, vil JavaScript ikke forstå, hvad du mente. Typisk bruger jeg enkelte anførselstegn, når jeg arbejder med strenge, da jeg valgte at bruge dobbelte anførselstegn til HTML og enkelte anførselstegn til JavaScript. Selvfølgelig kan du gøre alt anderledes, men jeg råder dig til at komme med en lignende regel for dig selv.

Lad os forestille os to linjer, som vi vil bruge gennem artiklen:

Var a = "Hej verden!"; var b = "Jeg er studerende.";

Vi har nu erklæret to variable, "a" og "b", og tildelt dem strengværdier. Derefter kan vi arbejde med dem, men først vil vi løse et problem: lad os sige, at jeg skrev:

Var b = "Jeg er studerende.";

Strengen indeholder et ekstra enkelt citat, og JavaScript mener, at strengen er komplet og viser en fejlmeddelelse uden at forstå, hvad der kommer derefter. Derfor har du brug for flugt citat, fortæller browseren om at behandle det som et tegn og ikke som en linjeafslutning. Dette gøres ved at bruge en omvendt skråstreg før citatet:

Var b = "Jeg\"er studerende.";

Bemærk, at du kan indsætte dobbelte anførselstegn i en streng uden at undslippe dem. Da du bruger enkelte anførselstegn til at starte og afslutte strengen,

Var b = "Jeg er en "elev".";

opfattes uden problemer. Dobbelte anførselstegn behandles automatisk som en del af en streng, ikke en kommando.

Indbyggede funktioner

Når strengene er defineret, kan du begynde at bruge dem. Det kan du f.eks sammenkæde en streng til en anden, eller tag en understreng fra strengen "b" bestående af det andet til fjerde tegn og indsæt dem i midten af ​​strengen "a", eller bestem, hvilket tegn der er det tolvte i "a", hvor mange tegn der er i "b" ”, om de indeholder bogstavet “q” osv.

For at gøre dette kan du bruge de indbyggede funktioner, som JavaScript foruddefinerer for hver linje. En af dem, "længde", returnerer længden af ​​strengen. Det vil sige, hvis du vil beregne længden af ​​"Hej verden!", skriv:

Var c = "Hej verden!".length;

Tidligere tildelte vi denne streng til variablen "a". Således har du lavet variablen "a" til en streng, så funktionen "længde" kan også anvendes på den, og følgende operation vil give samme resultat:

Var c = a. længde;

Husk at du kan bruge "længde" til enhver streng - det er en indbygget funktion. Du kan beregne længden af ​​enhver streng, for eksempel: "location.href" eller "document.title" eller erklæret af dig.

Nedenfor vil jeg præsentere en liste over almindelige indbyggede metoder og egenskaber.

Strenge og tal

Nogle programmeringssprog kræver, at du angiver, om en variabel er et tal eller en streng, før du gør noget andet med den. JavaScript er mere ligetil om forskellen mellem strenge og tal. Faktisk kan du endda tilføje tal med strenge:

Varc = a + 12;

I nogle programmeringssprog vil behandling af en sådan streng resultere i en fejl. Når alt kommer til alt, er "a" en streng, og "12" er et tal. JavaScript forsøger dog at løse problemet ved at antage, at "12" også er en streng. Således bliver "c" til "Hej verden!12". Det betyder, at hvis du bruger "+" med en streng og et tal, forsøger JavaScript at gøre tallet til en streng. Hvis du anvender matematiske operationer på en streng, forsøger JavaScript at omdanne den til et tal. Hvis det ikke er muligt at konvertere en streng til et tal (for eksempel på grund af tilstedeværelsen af ​​bogstaver i den), returnerer JavaScript NaN - "Not a Number - er ikke et tal."

Endelig er der i JavaScript ingen forskel mellem heltal og flydende kommatal.

Nummer → streng

Til tal til streng konvertering gå ind:

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

Du kan derefter anvende alle strengmetoder på "d" og "c" indeholder stadig et tal.

Streng → tal

Hvis du vil konvertere en streng til et tal, skal du først sikre dig, at den kun består af tegnene 0-9. For at gøre dette gange jeg simpelthen strengen med 1.

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

Da multiplikation kun virker med tal, gør JavaScript strengen til et tal, hvis det er muligt. Ellers er resultatet NaN.

Bemærk, at hvis du skriver:

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

Resultatet bliver "12340", fordi JavaScript bruger "+" til at sammenkæde strenge i stedet for at tilføje dem.

Strengegenskaber og metoder

Så hvad kan vi gøre med strenge? Sammenkædning er et specialtilfælde, men alle andre kommandoer (metoder) kan bruges på enhver streng ved hjælp af konstruktionen:

Strengnavn.metode();

Liste over indbyggede JavaScript-metoder til at arbejde med strenge

Sammenkædning - sammenføjning af strenge

For det første kan du sammenkæde strenge ved at tilføje dem sammen på denne måde:

Document.write(a + b);

resultatet bliver: "Hej verden! Jeg er studerende." " Men du vil selvfølgelig gerne have, at der er mellemrum mellem sætninger. For at gøre dette skal du skrive koden som følger:

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

Så vi forbinder tre strenge: "a", """" (et mellemrum) og "b", hvilket resulterer i: "Hej verden!" Jeg er studerende. »

Du kan endda bruge tal eller beregninger, for eksempel:

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

Nu sammenkæder vi strengen "a", derefter resultatet af udtrykket "3 * 3", betragtet som en streng, og "b", og får: "Hej verden!9 Jeg er studerende. »

Du skal være forsigtig, når du bruger tilsætning. Hold

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

forbinder 4 strenge: "a", "3", "3" og "b", fordi "+" i dette tilfælde betyder "forbind linjer", ikke "tilføj", og resultatet er: "Hej verden!33 Jeg er en studerende. " Hvis du vil tilføje 3 og 3, før du opretter en streng, skal du bruge parenteser.

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

Dette udtryk forbinder strengen "a", resultatet af udtrykket "3 + 3" og "b", hvilket resulterer i: "Hej verden!6 Jeg er studerende. "

indeks af

En af de mest anvendte indbyggede metoder er "indexOf". Hvert tegn har sit eget indeks, der indeholder nummeret på dets position på linjen. Bemærk, at indekset for det første tegn er 0, det andet er 1 osv. Indekset for tegnet "w" i strengen "a" er således 6.

Ved at bruge "indexOf" kan vi udskrive indekset for et tegn. Skriv ".indexOf(" ")" efter linjenavnet og indsæt det tegn du leder efter mellem anførselstegnene. For eksempel:

Var a = "Hej verden!"; document.write(a.indexOf("w"));

vender tilbage 6. Hvis et tegn forekommer flere gange, returnerer denne metode den første forekomst. Det er

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

vil returnere 4, fordi det er indekset for det første "o" i strengen.

Du kan også søge efter en kombination af symboler. (Dette er selvfølgelig også en streng, men for at undgå forvirring vil jeg ikke kalde det det). "indexOf" returnerer placeringen af ​​det første tegn i kombinationen. For eksempel:

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

vil også returnere 4, fordi det er indekset for "o".

Desuden er det muligt at søge efter et tegn efter et bestemt indeks. Hvis du kommer ind

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

så får du indekset for det første "o" efter tegnet med indeks 5 (dette er et mellemrum), dvs. resultatet bliver 7 .

Hvis tegnet eller kombinationen ikke forekommer i strengen, vil "indexOf" returnere "-1". Dette er i bund og grund den mest populære brug af "indexOf": at kontrollere, om der findes en bestemt kombination af tegn. Det er kernen i scriptet, der definerer browseren. For at definere IE tager du linjen:

Navigator.userAgent;

og tjek om den indeholder "MSIE":

If(navigator.userAgent.indexOf("MSIE") != -1) ( //Enhver handling med Internet Explorer)

Hvis indekset for "MSIE" ikke er "-1" (hvis "MSIE" forekommer hvor som helst i linjen), så er den aktuelle browser IE.

lastIndexOf

Der er også en "lastIndexOf"-metode, der returnerer den sidste forekomst af et tegn eller en kombination. Det gør det modsatte af "indexOf". Hold

Var b = "Jeg er studerende."; document.write(b.lastIndexOf("t"));

vil returnere 13, fordi det er indekset for det sidste "t" i strengen.

tegnAt

"charAt"-metoden returnerer tegnet på den angivne position. For eksempel når du kommer ind

Var b = "Jeg er studerende."; document.write(b.charAt(5));

resultatet er "a", da det er tegnet i sjette position (husk at indekset for det første tegn starter ved 0).

længde

"Længde"-metoden returnerer længden af ​​strengen.

Var b = "Jeg er studerende."; document.write(b.length);

vil returnere "15". Længden af ​​strengen er 1 større end indekset for det sidste tegn.

dele

"split" er en speciel metode, der giver dig mulighed for at opdele en streng på bestemte tegn. Bruges, når resultatet skal gemmes i et array i stedet for i en simpel variabel. Lad os opdele "b" med mellemrum:

Var b = "Jeg er studerende." var temp = new Array(); temp = b.split(" ");

Nu er strengen opdelt i 4 understrenge, som placeres i "temp"-arrayet. Selve rummene er forsvundet.

Temp = "I"; temp = "am"; temp = "a"; temp = "elev";

"Substring"-metoden bruges til at trække en del af en streng fra. Metodesyntaks: ".substring(første_indeks, sidste_indeks)". For eksempel:

Var a = "Hej verden!"; document.write(a.substring(4, 8));

vil returnere "o wo", fra det første "o" (indeks 4) til det andet (indeks 7). Bemærk, at "r" (indeks 8) ikke er en del af understrengen.

Du kan også skrive:

Var a = "Hej verden!"; document.write(a.substring(4));

Dette vil give hele understrengen "o verden! ", startende fra tegnet med indeks 4 til slutningen af ​​linjen.

substr

Der er også en "substr" metode, der virker lidt anderledes. Det bruger antallet af tegn i stedet for indeksnummeret som det andet argument. Det er

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

returnerer 8 tegn, startende fra tegnet ved indeks 4 ("o"), dvs. resultatet er: " o verden! »

toLowerCase og toUpperCase

Endelig 2 metoder, der nogle gange kan være nyttige for dig: "toLowerCase" konverterer hele strengen til små bogstaver, og "toUpperCase" konverterer den til store bogstaver.

Var b = "Jeg er studerende."; document.write(b.toUpperCase());

Som et resultat får vi "JEG ER STUDENT. "

Som semantiske "rammer" for brug af funktioner og konstruktioner til behandling af strenge er de af særlig interesse for programmering af i henhold til dets semantiske indhold. I JavaScript kan funktioner til at arbejde med strenge kombineres til deres egne semantiske konstruktioner, hvilket forenkler koden og formaliserer opgavens emneområde.

I den klassiske version er informationsbehandling primært strengfunktioner. Hver funktion og konstruktion af sproget har sine egne karakteristika i JavaScripts syntaks og semantik. Metoderne til at arbejde med strenge her har deres egen stil, men i almindelig brug er det kun syntaks indenfor simpel semantik: søg, erstat, indsættelse, udtræk, konnotation, skift store og små bogstaver...

Beskrivelse af strengvariabler

Brug konstruktionen for at erklære en streng var. Du kan straks indstille dens værdi eller generere den under udførelsen af ​​algoritmen. Du kan bruge enkelte eller dobbelte anførselstegn til en streng. Hvis det skal indeholde et anførselstegn, skal det escapes med tegnet "\".

Den angivne linje kræver, at man undslipper de interne dobbelte anførselstegn. Ligeledes er den, der er markeret med enkelte citater, afgørende for tilstedeværelsen af ​​enkelte citater indeni.

I dette eksempel viser strengen "str_dbl" nyttige specialtegn, der kan bruges i strengen. I dette tilfælde escapes selve tegnet "\".

En streng er altid en matrix

JavaScript kan arbejde med strenge på en række forskellige måder. Sprogsyntaksen giver mange muligheder. Først og fremmest må man aldrig glemme det (i forbindelse med beskrivelserne):

  • str_isV => "V";
  • str_chr => """;
  • str_dbl => "a".

Det vil sige, at tegnene i en streng er tilgængelige som array-elementer, hvor hvert specialtegn er ét tegn. Undslippe er et element i syntaks. Ingen "skærm" er placeret på den faktiske linje.

Brug af charAt()-funktionen har en lignende effekt:

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

Programmøren kan bruge enhver mulighed.

Grundlæggende strengfunktioner

I JavaScript gøres det lidt anderledes end på andre sprog. Navnet på variablen (eller selve strengen) efterfølges af navnet på funktionen adskilt af en prik. Typisk kaldes strengfunktioner metoder i stil med sprogsyntaks, men det første ord er mere velkendt.

Den vigtigste metode til en streng (mere korrekt, en egenskab) er dens længde.

  • var xStr = str_isV.length + "/" + str_chr.length + "/" + str_dbl.length.

Resultat: 11/12/175 ifølge linjerne i ovenstående beskrivelse.

Det vigtigste par af strengfunktioner er at opdele en streng i et array af elementer og flette arrayet til en streng:

  • split(s [, l]);
  • tilslutte sig(e).

I det første tilfælde opdeles strengen ved afgrænsningstegnet "s" i et array af elementer, hvor antallet af elementer ikke overstiger værdien "l". Hvis mængden ikke er angivet, brydes hele linjen.

I det andet tilfælde flettes arrayet af elementer til én linje gennem en given afgrænsning.

Et bemærkelsesværdigt træk ved dette par: opdeling kan udføres ved hjælp af en separator, og sammenlægning kan udføres ved hjælp af en anden. I denne sammenhæng kan JavaScript arbejde med strenge "uden for" sprogets syntaks.

Klassiske strengfunktioner

Almindelige strengbehandlingsfunktioner:

  • Søg;
  • prøve;
  • udskiftning;
  • transformation.

Repræsenteret af metoder: indexOf(), lastIndexOf(), toLowerCase(), toUpperCase(), concan(), charCodeAt() og andre.

I JavaScript er arbejde med strenge repræsenteret af en lang række funktioner, men de dublerer enten hinanden eller er overladt til gamle algoritmer og kompatibilitet.

For eksempel er det acceptabelt at bruge concat() metoden, men det er lettere at skrive:

  • str = str1 + str2 + str3;

Det giver også mening at bruge charAt()-funktionen, men at bruge charCodeAt() har virkelig praktisk betydning. Tilsvarende har et linjeskift en særlig betydning for JavaScript: i forbindelse med visning af f.eks. en advarsel()-meddelelse er det "\n", i en sider det "
" I det første tilfælde er det kun et tegn, og i det andet er det en streng af tegn.

Stryge og regulære udtryk

I JavaScript inkluderer arbejde med strenge en regulært udtryksmekanisme. Dette gør det muligt at udføre komplekse søgninger, hentning og strengkonverteringer i browseren uden at kontakte serveren.

Metode match finder, og erstatte erstatter det fundne match med den ønskede værdi. Regulære udtryk er implementeret i JavaScript på et højt niveau, er i sagens natur komplekse, og på grund af de specifikke applikationer overfører de tyngdepunktet fra serveren til klientens browser.

Ved anvendelse af metoder match, søg Og erstatte Du bør ikke kun være opmærksom på at teste over hele rækken af ​​acceptable værdier af de indledende parametre og søgestrenge, men også evaluere belastningen på browseren.

Eksempler på regulære udtryk

Omfanget af regulære udtryk til behandling af strenge er omfattende, men kræver stor omhu og opmærksomhed fra udvikleren. Først og fremmest bruges regulære udtryk, når man tester brugerinput i formularfelter.

Her er funktioner, der kontrollerer, om inputtet indeholder et heltal (schInt) eller et reelt tal (schReal). Følgende eksempel viser, hvor effektivt det er at behandle strenge ved kun at kontrollere dem for gyldige tegn: schText - kun tekst, schMail - gyldig e-mailadresse.

Det er meget vigtigt at huske på, at i JavaScript kræver tegn og strenge øget opmærksomhed på lokalitet, især når du skal arbejde med kyrillisk. I mange tilfælde er det tilrådeligt at specificere de faktiske tegnkoder frem for deres betydning. Dette gælder primært russiske bogstaver.

Det skal især bemærkes, at det ikke altid er nødvendigt at udføre opgaven, som den er sat. Især med hensyn til kontrol af heltal og reelle tal: du kan klare dig ikke med klassiske strengmetoder, men med almindelige syntakskonstruktioner.

Objektorienterede strenge

I JavaScript er arbejde med strenge repræsenteret af en lang række funktioner. Men dette er ikke en god grund til at bruge dem i deres oprindelige form. Syntaksen og kvaliteten af ​​funktionerne er upåklagelig, men det er en one-size-fits-all-løsning.

Enhver brug af strengfunktioner involverer behandling af den virkelige betydning, som bestemmes af dataene, anvendelsesomfanget og det specifikke formål med algoritmen.

Den ideelle løsning er altid at fortolke data for deres betydning.

Ved at repræsentere hver parameter som et objekt kan du formulere funktioner til at arbejde med det. Vi taler altid om at behandle symboler: tal eller strenge er sekvenser af symboler organiseret på en bestemt måde.

Der er generelle algoritmer, og der er private. For eksempel er et efternavn eller husnummer strenge, men hvis i det første tilfælde kun er russiske bogstaver tilladt, så er russiske bogstaver i det andet tilfælde tilladt, og der kan være bindestreger eller indeks adskilt af en skråstreg. Indekser kan være alfabetiske eller numeriske. Huset kan have bygninger.

Det er ikke altid muligt at forudse alle situationer. Dette er et vigtigt punkt i programmering. Det er sjældent, at en algoritme ikke kræver modifikation, og i de fleste tilfælde er det nødvendigt systematisk at justere funktionaliteten.

Formalisering af den behandlede linjeinformation i form af et objekt forbedrer kodens læsbarhed og gør det muligt at bringe den til niveauet for semantisk behandling. Dette er en anden grad af funktionalitet og væsentlig bedre kodekvalitet med større pålidelighed af den udviklede algoritme.

Der er flere måder at vælge understrenge i JavaScript, bl.a understreng(), substr(), skive() og funktioner regexp.

I JavaScript 1.0 og 1.1, understreng() eksisterer som den eneste enkle måde at vælge en del af en større streng på. For eksempel for at vælge linjen trykke fra Udtryk, brug "Expression".substring(2,7). Den første parameter til funktionen er det tegnindeks, hvor valget begynder, mens den anden parameter er det tegnindeks, hvor valget slutter (ikke inkluderet): understreng(2,7) inkluderer indeks 2, 3, 4, 5 og 6.

I JavaScript 1.2 fungerer substr(), skive() Og regexp kan også bruges til at splitte strenge.

Substr() opfører sig på samme måde som substr Pearl-sproget, hvor den første parameter angiver det tegnindeks, hvor valget begynder, mens den anden parameter angiver længden af ​​understrengen. For at udføre den samme opgave som i det foregående eksempel, skal du bruge "Expression".substr(2,5). Husk, 2 er udgangspunktet, og 5 er længden af ​​den resulterende understreng.

Når det bruges på strenge, skive() opfører sig på samme måde som funktionen understreng(). Det er dog meget mere kraftfuldt, i stand til at arbejde med enhver type array, ikke kun strenge. skive() bruger også negative forskydninger for at få adgang til den ønskede position, startende fra slutningen af ​​linjen. "Expression".slice(2,-3) returnerer den understreng, der findes mellem det andet tegn og det tredje tegn fra slutningen, returnerer igen tryk.

Den sidste og mest universelle metode til at arbejde med understrenge er at arbejde gennem regulære udtryksfunktioner i JavaScript 1.2. Igen, vær opmærksom på det samme eksempel, understrengen "trykke" hentet fra strengen "Udtryk":

Write("Udtryk".match(/press/));

Indbygget objekt Snor

Et objekt Snor Dette er en objektimplementering af en primitiv strengværdi. Dens konstruktør ser sådan ud:

Ny streng( betyder?)

Her betyder ethvert strengudtryk, der angiver den primitive værdi af et objekt. Hvis det ikke er angivet, er objektets primitive værdi "" .

Egenskaber for String-objektet:

konstruktør Konstruktøren, der skabte objektet. Antal tegn pr. linje. prototype En reference til objektklassens prototype.

Standard strengobjektmetoder

Returnerer tegnet på den givne position i strengen. Returnerer koden for tegnet placeret på en given position i strengen. Returnerer en sammenkædning af strenge. Opretter en streng ud fra tegn specificeret af Unicode-koder. Returnerer positionen for den første forekomst af den angivne understreng. Returnerer positionen for den sidste forekomst af den angivne understreng. Sammenligner to strenge baseret på operativsystemets sprog. Matcher en streng mod et regulært udtryk. Matcher en streng mod et regulært udtryk og erstatter den fundne understreng med en ny understreng. Matcher en streng med et regulært udtryk. Henter en del af en streng og returnerer en ny streng. Opdeler en streng i en række af understrenge. Returnerer en understreng givet ved position og længde. Returnerer en understreng specificeret af start- og slutpositionerne. Konverterer alle bogstaver i en streng til små bogstaver under hensyntagen til operativsystemets sprog. Konverterer alle bogstaver i en streng til store bogstaver under hensyntagen til operativsystemets sprog. Konverterer alle bogstaver i en streng til små bogstaver. Konverterer et objekt til en streng. Konverterer alle bogstaver i en streng til store bogstaver. Returnerer den primitive værdi af objektet.

Ikke-standardmetoder for String-objektet

Opretter et HTML-bogmærke ( …). Vikler en streng ind i tags …. Vikler en streng ind i tags …. Vikler en streng ind i tags …. Vikler en streng ind i tags …. Vikler en streng ind i tags …. Vikler en streng ind i tags …. Vikler en streng ind i tags …. Opretter et HTML-hyperlink (). Vikler en streng ind i tags …. Vikler en streng ind i tags …. Vikler en streng ind i tags …. Vikler en streng ind i tags ….

længde ejendom

Syntaks : et objekt.længde Egenskaber: (DontEnum, DontDelete, ReadOnly)

Ejendomsværdi længde er antallet af tegn i linjen. For en tom streng er denne værdi nul.

anker metode

Syntaks : et objekt.anker( Navn) Argumenter: Navn Resultat: strengværdi

Metode anker objekt, indesluttet i tags …. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at oprette et bogmærke i et HTML-dokument med den angivne navn. F.eks. svarer operatøren document.write("Min tekst".anchor("Bogmærke")) til operatøren document.write(" Min tekst") .

stor metode

Syntaks : et objekt.stor() Resultat: strengværdi

Metode stor returnerer en streng bestående af objekt, indesluttet i tags …. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst med stor skrift. For eksempel vil sætningen document.write("Min tekst".big()) vise strengen Min tekst på browserskærmen.

blinkmetode

Syntaks : et objekt.blinke() Resultat: strengværdi

Metode blinke returnerer en streng bestående af en primitiv strengværdi objekt, indesluttet i tags …. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst med blinkende skrifttype. Disse tags er ikke en del af HTML-standarden og understøttes kun af Netscape- og WebTV-browsere. For eksempel vil sætningen document.write("Min tekst".blink()) vise strengen Min tekst på browserskærmen.

fed metode

Syntaks : et objekt.fremhævet() Resultat: strengværdi

Metode fremhævet returnerer en streng bestående af en primitiv strengværdi objekt, indesluttet i tags …. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst med fed skrift. For eksempel vil operatøren document.write("Min tekst".bold()) vise linjen Min tekst .

charAt metode

Syntaks : et objekt.charAt( position) Argumenter: position ethvert numerisk udtryk Resultat: strengværdi

Metode tegnAt returnerer en streng bestående af tegnet placeret i den givne stillinger primitiv strengværdi objekt. Linjetegnpositioner er nummereret fra nul til et objekt. -1.

Hvis positionen er uden for dette område, returneres en tom streng. For eksempel vil sætningen document.write("String".charAt(0)) udskrive tegnet C til browserskærmen.

Syntaks : et objekt charCodeAt metode position) Argumenter: position ethvert numerisk udtryk Resultat.charCodeAt(

Metode tegnAt: numerisk værdi stillinger primitiv strengværdi objekt returnerer et tal svarende til Unicode-koden for tegnet placeret i den givne et objekt. Linjetegnpositioner er nummereret fra nul til . -1. Hvis positionen er uden for dette område, vender den tilbage

NaN

Syntaks : et objekt. For eksempel vil operatøren document.write("String".charCodeAt(0).toString(16)) vise den hexadecimale kode af det russiske bogstav "C" på browserskærmen: 421. konkat metode, .concat(, …, linje0) Argumenter: konkat metode, .concat(, …, linje0 linje 1 Resultat: strengværdi

Metode strengN eventuelle strengudtryk

et objekt + konkat metode + .concat( + … + linje0

konkat

returnerer en ny streng, der er sammenkædningen af ​​den oprindelige streng og metodeargumenterne. Denne metode svarer til operationen

Syntaks : et objekt For eksempel vil operatøren document.write("Frost og sol.".concat("Vidunderlig dag.")) vise linjen Frost og sol på browserskærmen. Det er en vidunderlig dag. Resultat: strengværdi

Metode fast metode returnerer en streng bestående af en primitiv strengværdi objekt, indesluttet i tags …. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst i en teletypeskrifttype. For eksempel vil sætningen document.write("Min tekst".fixed()) vise strengen Min tekst på browserskærmen.

skriftfarve metode

Syntaks : et objekt.fontcolor(color) Argumenter: farve streng udtryk Resultat: strengværdi

Metode skrift farve returnerer en streng bestående af en primitiv strengværdi objekt, indesluttet i tags farve>…. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst i en bestemt farve. For eksempel vil sætningen document.write("Min tekst".fontcolor("rød")) vise strengen Min tekst på browserskærmen.

skriftstørrelse metode

Syntaks : et objekt.skriftstørrelse( størrelse) Argumenter: størrelse numerisk udtryk Resultat: strengværdi

Metode skriftstørrelse returnerer en streng bestående af en primitiv strengværdi objekt, indesluttet i tags …. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst i en specificeret skriftstørrelse. For eksempel vil sætningen document.write("Min tekst".fontsize(5)) vise strengen Min tekst på browserskærmen.

fromCharCode metode

Syntaks : String.fromCharCode( kode1, kode2, …, kodeN) Argumenter: kode1, kode2, …, kodeN numeriske udtryk Resultat: strengværdi

Metode fra CharCode opretter en ny streng (men ikke et strengobjekt), der er sammenkædningen af ​​Unicode-tegn med koder kode1, kode2, …, kodeN.

Dette er en statisk metode til et objekt Snor, så du behøver ikke specifikt at oprette et strengobjekt for at få adgang til det. Eksempel:

Var s = String.fromCharCode(65, 66, 67); // s er lig med "ABC"

indexOf metode

Syntaks : et objekt.indeks af( understreng[,Start]?) Argumenter: understreng ethvert strengudtryk Start ethvert numerisk udtryk Resultat.charCodeAt(

Metode indeks af returnerer første position understrenge i en primitiv strengværdi objekt. et objekt Start Start Start Start mere end et objekt et objekt

Eftersøgningen udføres fra venstre mod højre. Ellers er denne metode identisk med metoden. Følgende eksempel tæller antallet af forekomster af delstrengmønsteret i strengen str .

Funktion occur(str, mønster) ( var pos = str.indexOf(pattern); for (var count = 0; pos != -1; count++) pos = str.indexOf(pattern, pos + pattern.length); return count ;)

Kursiv metode

Syntaks : et objekt.italics() Resultat: strengværdi

Metode kursiv returnerer en streng bestående af en primitiv strengværdi objekt, indesluttet i tags …. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst i kursiv skrift. For eksempel vil operatøren document.write("Min tekst".italics()) vise linjen Min tekst .

lastIndexOf metode

Syntaks : et objekt.lastIndexOf( understreng[,Start]?) Argumenter: understreng ethvert strengudtryk Start ethvert numerisk udtryk Resultat.charCodeAt(

Metode lastIndexOf returnerer sidste position understrenge i den primitive strengværdi objekt et objekt. -1. Start Hvis der gives et valgfrit argument Start; hvis ikke, så fra position 0, dvs. fra det første tegn på linjen. Hvis Start negativ, så tages den lig med nul; Hvis Start mere end et objekt. -1, så tages det lige et objekt. -1.

Hvis objektet ikke indeholder denne understreng, returneres værdien -1.

Søgningen udføres fra højre mod venstre. Ellers er denne metode identisk med metoden. Eksempel:

Var n = "Hvidhval".lastIndexOf("hval"); // n er lig med 6

Syntaks : et objekt link metode .link() Argumenter: .link( uri Resultat: strengværdi

Metode ethvert strengudtryk returnerer en streng bestående af en primitiv strengværdi objekt link, indesluttet i uri-tags .link("> . Der er ingen kontrol for at se, om kildestrengen allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at oprette et hyperlink i et HTML-dokument med den angivne

. For eksempel svarer sætningen document.write("Min tekst".link("#Bogmærke")) til erklæringen document.write("Min tekst") .

Syntaks : et objekt localeCompare metode .concat() Argumenter: .concat( uri Resultat.localeCompare(

: nummer

Metode Support locale Sammenlign objekt sammenligner to strenge under hensyntagen til de nationale indstillinger for operativsystemet. Det returnerer -1 hvis primitiv værdi mindre linjer 1 mindre, +1 hvis den er større

, og 0, hvis disse værdier er de samme.

Syntaks : et objekt match metode .match() Argumenter: .match( Resultat regvyr

Metode match .match( objekt: række af strenge . Resultatet af kampen er en række fundne understrenge eller nul

  • , hvis der ikke er nogen match. Hvori: .match( Hvis .match(.ikke indeholder en global søgemulighed, så udføres metoden(et objekt exec .match(), og dets resultat returneres. Det resulterende array indeholder den fundne understreng i elementet med indeks 0, og de resterende elementer indeholder understrenge svarende til underudtrykkene
  • , hvis der ikke er nogen match. Hvori: .match(, omgivet af parentes. .match(.ikke indeholder en global søgemulighed, så udføres metoden(et objekt indeholder en global søgemulighed, derefter metoden .match(.) udføres, så længe der findes matchninger. Hvis n er antallet af fundne matches, så er resultatet en matrix af n elementer, der indeholder de fundne understrenge. Ejendom sidste indeks

tildelt et positionsnummer i kildestrengen, der peger på det første tegn efter det sidste fund, eller 0, hvis der ikke blev fundet nogen match. .match(.ikke indeholder en global søgemulighed, så udføres metoden Det skal huskes, at metoden .match(ændrer objektegenskaber

. Eksempler:

Syntaks : et objekt erstatte metode .match(,.erstatte() et objekt erstatte metode .match(,linje) Argumenter: .match( fungere linje regulære udtryk streng streng udtryk Resultat funktionsnavn eller funktionserklæring

Metode erstatte: ny linje .match( matcher regulært udtryk objekt med en primitiv strengværdi .match( og erstatter de fundne understrenge med andre understrenge. Resultatet er en ny streng, som er en kopi af den originale streng med de udførte udskiftninger. Erstatningsmetoden bestemmes af den globale søgemulighed i

, hvis der ikke er nogen match. Hvori: .match( og typen af ​​det andet argument. .match( og den udskiftes. Hvis .match( indeholder en global søgemulighed, så matcher alle understrenge .match(, og de udskiftes.

.erstatte(, så erstattes hver fundne understreng med den. I dette tilfælde kan linjen indeholde følgende objektegenskaber RegExp, ligesom $1 , , $9 , lastMatch , lastParen , leftContext og rightContext . For eksempel vil operatøren document.write("Lækre æbler, saftige æbler.".replace(/æbler/g, "pærer")) vise linjen Lækre pærer, saftige pærer på browserskærmen.

Hvis det andet argument er linje, så erstattes hver fundne understreng ved at kalde denne funktion. Funktionen har følgende argumenter. Det første argument er den fundne understreng, efterfulgt af argumenter, der matcher alle underudtryk .match(, omgivet af parentes, er det næstsidste argument placeringen af ​​den fundne understreng i kildestrengen, tællet fra nul, og det sidste argument er selve kildestrengen. Følgende eksempel viser, hvordan metoden bruges erstatte du kan skrive en funktion til at konvertere Fahrenheit til Celsius. Det givne scenarie

Funktion myfunc($0,$1) ( return (($1-32) * 5 / 9) + "C"; ) funktion f2c(x) ( var s = String(x); return s.replace(/(\d+( \.\d*)?)F\b/, myfunc ) document.write(f2c("212F"));

vil vise linjen 100C på browserskærmen.

Bemærk venligst, at denne metode ændrer objektets egenskaber .match(.

Udskift eksempel

Erstatning af alle forekomster af en understreng i en streng

Det sker ofte, at du skal erstatte alle forekomster af en streng med en anden streng:

Var str = "foobarfoobar"; str=str.replace(/foo/g,"xxx"); // resultatet bliver str = "xxxbarxxxbar";

søgemetode

Syntaks : et objekt.Søg( .match() Argumenter: .match( ethvert regulært udtryk Resultat: numerisk udtryk

Metode Søg: ny linje .match( matcher regulært udtryk objekt. Resultatet af overensstemmelsen er positionen af ​​den første fundne understreng, tællet fra nul eller -1, hvis der ikke er nogen overensstemmelser. Samtidig er den globale søgemulighed i .match( ignoreres, og egenskaber .match( ikke skift.

Eksempler:

Syntaks : et objekt skive metode Start [,.skive(]?) Argumenter: Start Og .skive( ende Resultat funktionsnavn eller funktionserklæring

Metode eventuelle numeriske udtryk objekt skive Start, fra position .skive( at positionere .skive( Start uden at inkludere det. Hvis

og indtil slutningen af ​​den oprindelige linje. et objekt Linjetegnpositioner er nummereret fra nul til Start et objekt. +Start. -1. .skive( Hvis værdien et objekt. +.skive(. Hvis værdien

negativ, så erstattes den af

. Med andre ord behandles negative argumenter som forskydninger fra slutningen af ​​strengen.

Syntaks : et objekt Resultatet er en strengværdi, ikke et strengobjekt. For eksempel vil sætningen document.write("ABCDEF".slice(2,-1)) udskrive strengen CDE til browserskærmen. Resultat: strengværdi

Metode lille metode returnerer en streng bestående af en primitiv strengværdi objekt, indesluttet i tags …. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst med lille skrift. For eksempel vil sætningen document.write("Min tekst".small()) vise strengen Min tekst på browserskærmen.

split metode

Syntaks : et objekt.dele( afgrænsning [,nummer]?) Argumenter: afgrænsning streng eller regulært udtryk nummer numerisk udtryk Resultat: string array(objekt Array)

Metode dele bryder den primitive værdi objekt til et array af understrenge og returnerer det. Opdelingen i understrenge udføres som følger. Kildestrengen scannes fra venstre mod højre på udkig efter afgrænsning. Når den er fundet, tilføjes understrengen fra slutningen af ​​den forrige afgrænsning (eller fra begyndelsen af ​​linjen, hvis dette er den første forekomst af afgrænsningen) til begyndelsen af ​​den fundne til understrengsarrayet. Selve separatoren vises således ikke i teksten i understrengen.

Valgfrit argument nummer angiver den maksimalt mulige størrelse af det resulterende array. Hvis det er angivet, så efter valg tal Understrengmetoden afsluttes, selvom scanningen af ​​den originale streng ikke er færdig.

Afgrænsning kan angives enten som en streng eller som et regulært udtryk. Der er flere sager, der kræver særlig overvejelse:

Følgende eksempel bruger et regulært udtryk til at angive HTML-tags som afgrænsning. Operatør

vil vise linjen Tekst, fed og kursiv på browserskærmen.

strejkemetode

Syntaks : et objekt.strejke() Resultat: strengværdi

Metode strejke returnerer en streng bestående af en primitiv strengværdi objekt, indesluttet i tags …. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst i en gennemstreget skrifttype. For eksempel vil sætningen document.write("Min tekst".strike()) vise strengen Min tekst på browserskærmen.

undermetode

Syntaks : et objekt.sub() Resultat: strengværdi

Metode sub returnerer en streng bestående af en primitiv strengværdi objekt, indesluttet i tags …. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst som et underskrift. For eksempel vil udsagnet document.write("Min tekst".sub()) vise strengen Min tekst på browserskærmen.

substr metode

Syntaks : et objekt.substr( position [,længde]?) Argumenter: position Og længde numeriske udtryk Resultat: strengværdi

Metode substr returnerer en understreng af den primitive værdi af en streng objekt starter med dette stillinger og indeholdende længde tegn. Hvis længde ikke er angivet, returneres en understreng startende fra den givne stillinger og indtil slutningen af ​​den oprindelige linje. Hvis længde er negativ eller nul, returneres en tom streng.

og indtil slutningen af ​​den oprindelige linje. et objekt. -1. position Hvis et objekt større end eller lig med position., så returneres en tom streng. Hvis et objekt.+position.

Bemærk. Hvis position er negativ, erstatter Internet Explorer den ved en fejl med 0, så af kompatibilitetsårsager bør denne mulighed ikke bruges.

Var src = "abcdef"; var s1 = src.substr(1, 3); // "bcd" var s2 = src.substr(1); // "bcdef" var s3 = src.substr(-1); // "f", men i MSIE: "abcdef"

substring metode

Syntaks : et objekt.substring( Start [,.skive(]) Argumenter: Start Og .skive( numeriske udtryk Resultat: strengværdi

Metode understreng returnerer en understreng af den primitive værdi af en streng objekt skive Start, fra position .skive( at positionere .skive( ikke er angivet, returneres en understreng, startende fra position Start uden at inkludere det. Hvis

og indtil slutningen af ​​den oprindelige linje. et objekt. -1. . -1. Negative argumenter eller lig Start erstattes af nul; hvis argumentet er større end længden af ​​den oprindelige streng, erstattes det med det. Hvis mere ende Start, så skifter de plads. Hvis lige med ende

, så returneres en tom streng.

Resultatet er en strengværdi, ikke et strengobjekt. Eksempler:

Var src = "abcdef"; var s1 = src.substring(1, 3); // "bc" var s2 = src.substring(1, -1); // "a" var s3 = src.substring(-1, 1); // "a"

Syntaks : et objekt sup metode Resultat: strengværdi

Metode .sup() returnerer en streng bestående af en primitiv strengværdi objekt, indesluttet i tags … sup

. Der er ingen kontrol for at se, om den originale streng allerede var indesluttet i disse tags. Denne metode bruges sammen med metoderne document.write og document.writeln til at vise tekst som hævet skrift. For eksempel vil sætningen document.write("Min tekst".sup()) vise strengen Min tekst på browserskærmen.

Syntaks : et objekt toLocaleLowerCase-metoden Resultat.toLocaleLowerCase()

: nummer: ny linje

Metode : Internet Explorer understøttet fra version 5.5. Netscape Navigator Ikke understøttet. til LocaleLowerCase

returnerer en ny streng, hvor alle bogstaver i den originale streng er erstattet med små bogstaver, idet der tages højde for lokalindstillingerne for operativsystemet. De resterende tegn i den originale streng ændres ikke. Den originale streng forbliver den samme. Typisk returnerer denne metode det samme resultat som ; forskellen er kun mulig, hvis sprogkodningen er i konflikt med Unicode-reglerne for konvertering af store bogstaver til små bogstaver.

Syntaks : et objekt toLocaleUpperCase-metoden Resultat.toLocaleLowerCase()

: nummer: ny linje

Metode .toLocaleUpperCase() til LocaleUpperCase

returnerer en ny streng, hvor alle bogstaver i den originale streng er erstattet med store bogstaver, idet der tages hensyn til styresystemets lokalitetsindstillinger. De resterende tegn i den originale streng ændres ikke. Den originale streng forbliver den samme. Typisk returnerer denne metode det samme resultat som ; forskellen er kun mulig, hvis sprogkodningen er i konflikt med Unicode-reglerne for konvertering af små bogstaver til store bogstaver.

Syntaks : et objekt toLowerCase-metoden Resultat funktionsnavn eller funktionserklæring

Metode .toLowerCase() returnerer en ny streng med alle bogstaver i den originale streng erstattet med små bogstaver. De resterende tegn i den originale streng ændres ikke. Den originale streng forbliver den samme. For eksempel vil sætningen document.write("String object".toLowerCase()) udskrive strengobjektstrengen til browserskærmen.

Hilsen alle, der grundigt har besluttet at lære et prototype-orienteret sprog. Sidste gang fortalte jeg dig om , og i dag vil vi analysere JavaScript-strenge. Da alle tekstelementer i dette sprog er strenge (der er ikke noget separat format for tegn), kan du gætte på, at denne sektion fylder en væsentlig del i indlæring af js-syntaks.

Derfor vil jeg i denne publikation fortælle dig, hvordan strengelementer oprettes, hvilke metoder og egenskaber der er tilvejebragt for dem, hvordan man korrekt konverterer strenge, for eksempel konverterer til et tal, hvordan du kan udtrække den ønskede understreng og meget mere. Udover dette vil jeg vedhæfte eksempler på programkode. Lad os nu gå i gang!

Streng variabel syntaks

I js-sproget er alle variabler erklæret ved hjælp af var nøgleordet, og derefter, afhængigt af formatet af parametrene, bestemmes typen af ​​den erklærede variabel. Som du husker fra JavaScript, er der ingen stærk skrivning. Det er derfor, denne situation eksisterer i koden.

Ved initialisering af variabler kan værdier indrammes i dobbelt, enkelt og, fra 2015, i skæve enkelt anførselstegn. Nedenfor har jeg vedhæftet eksempler på hver metode til at erklære strenge.

Jeg vil være særlig opmærksom på den tredje metode. Det har en række fordele.

Med dens hjælp kan du nemt udføre et linjeskift, og det vil se sådan ud:

alarm(`flere

Jeg flytter

Og den tredje metode giver dig mulighed for at bruge $(...)-konstruktionen. Dette værktøj er nødvendigt for at indsætte interpolation. Bliv ikke bange, nu skal jeg fortælle dig, hvad det er.

Takket være $(...) kan du ikke kun indsætte variable værdier i strenge, men også udføre aritmetiske og logiske operationer med dem, kalde metoder, funktioner osv. Alt dette kaldes ét led - interpolation. Se et eksempel på implementering af denne tilgang.

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

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

Som et resultat vil udtrykket "3 + 1*5 = 8" blive vist på skærmen.

Hvad angår de to første måder at erklære strenge på, er der ingen forskel på dem.

Lad os tale lidt om specielle karakterer

Mange programmeringssprog har specialtegn, der hjælper med at manipulere tekst i strenge. Den mest berømte blandt dem er linjeskift (\n).

Alle lignende værktøjer begynder i starten med en omvendt skråstreg (\) og efterfølges af bogstaver i det engelske alfabet.

Nedenfor har jeg vedhæftet en lille tabel, der viser nogle specialtegn.

Vi lagerfører et tungt arsenal af metoder og egenskaber

Sprogudviklerne leverede mange metoder og egenskaber til at forenkle og optimere arbejdet med strenge. Og med udgivelsen af ​​en ny standard kaldet ES-2015 sidste år, blev denne liste fyldt op med nye værktøjer.

Længde

Jeg starter med den mest populære egenskab, som hjælper med at finde ud af længden af ​​værdierne af strengvariabler. Det her længde. Det bruges på denne måde:

var string = "Enhjørninger";

alarm(streng.længde);

Svaret vil vise tallet 9. Denne egenskab kan også anvendes på værdierne selv:

"Enhjørninger".length;

Resultatet vil ikke ændre sig.

charAt()

Denne metode giver dig mulighed for at udtrække et bestemt tegn fra tekst. Lad mig minde dig om, at nummerering starter fra nul, så for at udtrække det første tegn fra en streng, skal du skrive følgende kommandoer:

var string = "Enhjørninger";

alert(string.charAt(0));.

Det resulterende resultat vil dog ikke være en tegntype, det vil stadig blive betragtet som en streng med et enkelt bogstav.

Fra toLowerCase() til UpperCase()

Disse metoder styrer bogstavernes store og små bogstaver. Når du skriver koden "Indhold".

toUpperCase() hele ordet vises med store bogstaver.

For den modsatte effekt skal du bruge "Indhold". toLowerCase().

indeks af()

Et populært og nødvendigt værktøj til at søge efter understrenge. Som argument skal du indtaste det ord eller den sætning, du vil finde, og metoden returnerer positionen for det fundne element. Hvis den søgte tekst ikke blev fundet, vil "-1" blive returneret til brugeren.

1 2 3 4 var text = "Organiser en blomstersøgning!"; alert(text.indexOf("farve")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

var text = "Organiser en blomstersøgning!"; alert(text.indexOf("farve")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

Bemærk, at lastIndexOf() gør det samme, kun det søger fra slutningen af ​​sætningen.

Substring ekstraktion

Til denne handling blev der oprettet tre omtrent identiske metoder i js.

Lad os se på det først understreng (start, slut) Og skive (start, slut). De fungerer det samme. Det første argument definerer startpositionen, hvorfra udtrækningen vil begynde, og det andet er ansvarlig for det endelige stoppunkt. I begge metoder udtrækkes strengen uden at inkludere det tegn, der er placeret i slutpositionen.

var text = "Atmosfære"; alert(tekst.understreng(4)); // vil vise "sphere" advarsel(text.substring(2, 5)); //display "mos" alert(text.slice(2, 5)); //viser "mos"

Lad os nu se på den tredje metode, som kaldes substr(). Det skal også indeholde 2 argumenter: Start Og længde.

Den første angiver startpositionen, og den anden angiver antallet af tegn, der skal udtrækkes. For at spore forskellene mellem disse tre værktøjer brugte jeg det forrige eksempel.

var text = "Atmosfære";

alert(text.substr(2, 5)); //viser "mosfe"

Ved at bruge de anførte midler til at tage delstrenge kan du fjerne unødvendige tegn fra nye linjeelementer, som programmet så arbejder med.

Svar()

Denne metode hjælper med at erstatte tegn og understrenge i tekst. Det kan også bruges til at implementere globale erstatninger, men for at gøre dette skal du inkludere regulære udtryk.

Dette eksempel erstatter kun understrengen i det første ord.

var text = "Atmosfære Atmosfære"; var newText = text.replace("Atmo","Strato") alert(newText) // Resultat: Stratosfæreatmosfære

Og i denne softwareimplementering vil der på grund af det regulære udtryksflag "g" blive udført en global udskiftning.

var text = "Atmosfære Atmosfære"; var newText = text.replace(/Atmo/g,"Strato") alert(newText) // Resultat: Stratosphere Stratosphere

Lad os lave konverteringen

JavaScript giver kun tre typer objekttypekonvertering:

  1. Numerisk;
  2. Snor;
  3. Boolean.

I den aktuelle publikation vil jeg tale om 2 af dem, da viden om dem er mere nødvendig for at arbejde med strenge.

Numerisk konvertering

For eksplicit at konvertere et elements værdi til en numerisk form, kan du bruge Antal (værdi).

Der er også et kortere udtryk: +"999".

var a = Tal("999");

Strengkonvertering

Udføres af funktionen alert, samt et eksplicit opkald Streng (tekst).

Opgave . Søg og erstat

Opgave. Givet en streng "aaa@bbb@ccc". Udskift alt @ "!" ved hjælp af global søg og erstat.

Løsning: i dette tilfælde skal du bruge erstatningsmetoden, som udfører en søgning og erstat. Men i et simpelt brugstilfælde vil denne metode finde og erstatte kun den første kamp:

Var str = "aaa@bbb@ccc"; alert(str.replace("@", "!")); //få "aaa!bbb@ccc"

For at erstatte alle tændstikker, bruger vi global søg vha almindelig udtryk:

Var str = "aaa@bbb@ccc"; alert(str.replace(/@/g, "!")); //få "aaa!bbb!ccc"

Opgave . Metoder substr, substring, skive

Opgave. Givet en streng "aaa bbb ccc". Klip et ord ud af det "bbb" på tre forskellige måder (via substr , substring , slice ).

Løsning: ord "bbb" starter med tegn nummer 4 (nummerering fra nul), og slutter med tegn nummer 6. Lad os bruge de angivne metoder:

Var str = "aaa bbb ccc"; alert(str.substr(4, 3)); //substr(hvor der skal skæres, hvor meget der skal skæres) alert(str.substring(4, 7)); //substring(hvorfra der skal skæres, til hvor der skal skæres) alert(str.slice(4, 7)); //slice(hvor man skal skære fra, hvor man skærer til)

Bemærk venligst, at i metoderne understreng Og eventuelle numeriske udtryk den anden parameter skal være 1 større end det tegn, som vi vil fjerne (det vil sige, hvis vi angiver tallet 7, vil skæringen ske op til det 6. tegn inklusive).

Opgave . Konvertering af datoformat

Opgave. I variabel dato datoen er i formatet "2025-12-31" "31/12/2025" .

Løsning: ved at bruge splitmetoden opdeler vi vores streng "2025-12-31" til array efter separator "-" , i dette tilfælde vil nul-elementet indeholde året, det første - måneden og det andet - dagen:

Var str = "2025-12-31"; var arr = split("-"); alert(arr);//hent arrayet ["2025", "12", "31"]

Nu, med henvisning til forskellige elementer i arrayet ved deres nøgler, vil vi danne den streng, vi har brug for:

Var str = "2025-12-31"; var arr = split("-"); var newStr = arr + "/" + arr + "/"+arr; alarm(nyStr); //hent strengen "12/31/2025"

Problemer at løse

Arbejder med store bogstaver

Givet en streng "js". Gør det til en snor "JS".

Givet en streng "JS". Gør det til en snor "js".

Arbejde med længde, understr, understreng, skive. Arbejder med indexOf

Givet en streng "Jeg lærer javascript!". Find Karakterer i denne linje.

Givet en streng "Jeg lærer javascript!". Find understrengens position "Jeg underviser".

Givet en variabel str, som gemmer noget tekst. Implementer trimning af lang tekst i henhold til følgende princip: hvis antallet af tegn i denne tekst er større end angivet i variablen n, så ind i variablen resultat lad os skrive de første ned n tegn i strengen str og tilføj en ellipse "..." til sidst. Ellers til en variabel resultat skriv indholdet af variablen str.

Arbejder med udskiftning

Givet en streng "Jeg-lærer-javascript!". Udskift alt bindestreger"!" ved hjælp af global søg og erstat.

Arbejder med split

Givet en streng "Jeg lærer javascript!". Brug af metoden dele skriv hvert ord i denne linje ind adskille array element.

Givet en streng "Jeg lærer javascript!". Brug af metoden dele skriv hvert tegn i denne streng ind i et separat array-element.

I variabel dato datoen er i formatet "2025-12-31" . Konverter denne dato til format "31.12.2025" .

Arbejder med join

Givet et array ["Jeg", "underviser", "javascript", "!"]. Brug af metoden tilslutte konverter array til streng "Jeg+lærer+javascript+!".

Opgaver

Konvertere første bogstav strenge til store bogstaver.

Konverter det første bogstav hvert ord strenge til store bogstaver.

Konverter streng "var_test_tekst" V "varTestText". Scriptet skal selvfølgelig fungere med lignende strenge.

Nogle videoer kan komme foran sig selv, da vi endnu ikke har dækket hele ES6 på dette tidspunkt i selvstudiet. Bare spring over disse videoer og se dem senere.