Javascript haalt woord uit string. Werken met strings in javascript: een volledig overzicht van stringvariabelen

Van de auteur: Gegroet, vrienden. In diverse eerdere artikelen hebben wij kennis gemaakt met numeriek type data in JavaScript en werkte met cijfers. Nu is het tijd om met tekenreeksen in JavaScript te werken. Laten we het tekenreeksgegevenstype in JavaScript eens nader bekijken.

We hebben al kort kennis gemaakt met het stringtype en eigenlijk alleen maar geleerd wat een string is en hoe deze geschreven is. Laten we nu eens nader kijken naar tekenreeksen en methoden om ermee te werken.

Zoals u zich herinnert, is elke tekst in JavaScript een tekenreeks. De string moet tussen aanhalingstekens staan, enkel of dubbel, het maakt geen verschil:

var hi = "hallo", naam = "John";

var hallo = "hallo",

naam = "Jan";

Nu hebben we slechts één woord in de variabelen geschreven. Maar wat als we een grote hoeveelheid tekst willen opnemen? Ja, geen probleem, laten we wat vistekst in een variabele schrijven en deze naar de console uitvoeren:

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

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

troosten. log(tekst);

Werken. Maar als er veel tekst is, zullen we waarschijnlijk regeleinden hebben om een ​​nieuwe paragraaf op een nieuwe regel te beginnen. Laten we proberen een regeleinde als volgt aan onze tekst toe te voegen:

Zoals je kunt zien, mijn teksteditor Een mogelijk probleem heb ik al rood gemarkeerd. Laten we eens kijken hoe de browser reageert op een regeleinde in deze interpretatie:

Syntaxisfout, zoals je zou verwachten. Hoe kan dit? Er zijn verschillende manieren om tekst met meerdere regels in een variabele op te slaan. Je hebt misschien al een van deze geraden, we hebben het over string-aaneenschakeling:

Zoals u kunt zien, reageert de editor al normaal op deze optie om een ​​string naar een variabele te schrijven. Een andere optie is het gebruik van de backslash (\), wat in JavaScript en veel andere programmeertalen een escape-teken is waarmee je veilig met speciale tekens kunt werken. We zullen verder leren wat speciale karakters zijn. Laten we dus proberen te ontsnappen aan het onzichtbare nieuweregelkarakter:

Afscherming loste ook ons ​​probleem op. Als we echter naar de console kijken, hebben zowel de aaneenschakeling van strings als het ontsnappen van regels, terwijl het probleem van het schrijven naar het programma werd opgelost, het probleem van het weergeven van een string met meerdere regels op het scherm niet opgelost. In plaats van een regel met meerdere regels, zien we tekst met één regel in de console. Wat moet ik doen?

En hier zal het speciale newline-teken ons helpen - \n. Door dit speciale teken toe te voegen aan een string in op de juiste plaats, zullen we de tolk vertellen dat hij op dit punt moet eindigen huidige lijn en maak een nieuwe regel.

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

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

"Quos nisi, culpa exercitationem!";

troosten. log(tekst);

Als je het niet erg vindt om de tekst in de code in één regel te schrijven, dan kunnen we het als volgt doen:

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

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

troosten. log(tekst);

Het resultaat op het scherm zal niet veranderen; we zullen tekst met meerdere regels zien in de browserconsole:

In deze situatie hebben we het backslash-escape-teken in de code niet echt nodig. Maar het is eigenlijk nodig, zoals hierboven opgemerkt, om aan speciale tekens te ontsnappen. Bijvoorbeeld binnen de string die we hebben ingesloten enkele aanhalingstekens, er is een apostrof, d.w.z. enkel citaat:

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

Er zijn verschillende manieren om subtekenreeksen in JavaScript te selecteren, waaronder subtekenreeks(), substr(), plak() en functies regexp.

In JavaScript 1.0 en 1.1 is subtekenreeks() bestaat als de enige eenvoudige manier om een ​​deel van een grotere reeks te selecteren. Om bijvoorbeeld de lijn te selecteren druk van Uitdrukking, gebruik "Expressie".substring(2,7). De eerste parameter van de functie is de karakterindex waar de selectie begint, terwijl de tweede parameter de karakterindex is waar de selectie eindigt (exclusief): subtekenreeks(2,7) omvat indexen 2, 3, 4, 5 en 6.

In JavaScript 1.2 zijn functies substr(), plak() En regexp kan ook worden gebruikt om snaren te splitsen.

Substr() gedraagt ​​zich op dezelfde manier als onderstr de Pearl-taal, waarbij de eerste parameter de tekenindex aangeeft waarop de selectie begint, terwijl de tweede parameter de lengte van de subtekenreeks specificeert. Om dezelfde taak uit te voeren als in het vorige voorbeeld, moet u gebruiken "Expressie".substr(2,5). Onthoud dat 2 het startpunt is en 5 de lengte van de resulterende subtekenreeks.

Bij gebruik op snaren, plak() gedraagt ​​zich op dezelfde manier als de functie subtekenreeks(). Het is echter veel krachtiger en kan met elk type array werken, niet alleen met strings. plak() maakt ook gebruik van negatieve offsets om toegang te krijgen tot de gewenste positie, beginnend vanaf het einde van de regel. "Expressie".slice(2,-3) retourneert de subtekenreeks die tussen het tweede teken en het derde teken vanaf het einde is gevonden, en drukt nogmaals op.

Nieuwste en meest universele methode om met substrings te werken - dit is een work-through reguliere functies expressies in JavaScript 1.2. Nogmaals, let op hetzelfde voorbeeld, de substring "druk" verkregen uit de string "Uitdrukking":

Write("Expressie".match(/druk/));

Inbouwobject Snaar

Voorwerp Snaar Dit is een objectimplementatie van een primitieve tekenreekswaarde. De constructor ziet er als volgt uit:

Nieuwe tekenreeks( betekenis?)

Hier betekenis elke tekenreeksexpressie die de primitieve waarde van een object specificeert. Als dit niet is opgegeven, is de primitieve waarde van het object "" .

Eigenschappen van het String-object:

bouwer De constructor die het object heeft gemaakt. Aantal tekens per regel. prototype

Een verwijzing naar het prototype van de objectklasse.

Standaard stringobjectmethoden Retourneert het teken op de opgegeven positie in de tekenreeks..

Matcht een string met een reguliere expressie.

Vergelijkt een tekenreeks met een reguliere expressie en vervangt de gevonden subtekenreeks door een nieuwe subtekenreeks. Matcht een string met een reguliere expressie. (… Haalt een deel van een string op en retourneert een nieuwe string. … Splitst een tekenreeks in een array van subtekenreeksen. … Splitst een tekenreeks in een array van subtekenreeksen. … Splitst een tekenreeks in een array van subtekenreeksen. … Splitst een tekenreeks in een array van subtekenreeksen. … Splitst een tekenreeks in een array van subtekenreeksen. … Splitst een tekenreeks in een array van subtekenreeksen. … Retourneert een subtekenreeks gegeven door positie en lengte. Retourneert een subtekenreeks die is opgegeven door de begin- en eindposities. Converteert alle letters van een tekenreeks naar kleine letters, rekening houdend met de taal van het besturingssysteem. … Splitst een tekenreeks in een array van subtekenreeksen. … Splitst een tekenreeks in een array van subtekenreeksen. … Splitst een tekenreeks in een array van subtekenreeksen. ….

Converteert alle letters in een tekenreeks naar hoofdletters op basis van de taal van het besturingssysteem.

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. Converteert alle letters in een tekenreeks naar hoofdletters. Retourneert de primitieve waarde van het object. Niet-standaardmethoden van het String-object

Creëert HTML-bladwijzer).

Verpakt een string in tags

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks.. Verpakt een string in tags) .: Verpakt een string in tags Creëert HTML-hyperlink

(). Verpakt een string in tags lengte eigendom Syntaxis … voorwerp .lengte Kenmerken : (DontEnum, DontDelete, ReadOnly)") .

Waarde van onroerend goed

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. lengte Creëert HTML-hyperlink

(). is het aantal tekens in de regel. Voor een lege string is deze waarde nul. anker methode lengte eigendom Syntaxis ….anker( Naam Argumenten

Resultaat

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks.: tekenreekswaarde Creëert HTML-hyperlink

(). Methode anker lengte eigendom Syntaxis … voorwerp

, ingesloten tussen tags

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks.. Creëert HTML-hyperlink

(). Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om een ​​bladwijzer in een HTML-document te maken met de opgegeven anker lengte eigendom Syntaxis …. Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst vetgedrukt weer te geven. De operator document.write("Mijn tekst".bold()) geeft bijvoorbeeld de regel weer .

Mijn tekst

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. charAt-methode .charAt() .: .charAt( positie Creëert HTML-hyperlink

(). elke numerieke uitdrukking tekenAt retourneert een tekenreeks die bestaat uit het teken dat zich in het gegeven bevindt posities lengte eigendom primitieve tekenreekswaarde Converteert een object naar een tekenreeks.. Lijntekenposities zijn genummerd van nul tot

. -1.

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. Als de positie buiten dit bereik ligt, wordt een lege string geretourneerd. De instructie document.write("String".charAt(0)) zal bijvoorbeeld het teken C op het browserscherm afdrukken. .charAt() .: .charAt( positie Creëert charCodeAt-methode

(). elke numerieke uitdrukking.charCodeAt( retourneert een tekenreeks die bestaat uit het teken dat zich in het gegeven bevindt posities lengte eigendom: numerieke waarde Converteert een object naar een tekenreeks. retourneert een getal dat gelijk is aan de Unicode-code van het teken dat zich in het gegeven bevindt . Lijntekenposities zijn genummerd van nul tot. -1. Als de positie buiten dit bereik valt, keert deze terug NaN

.

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. De instructie document.write("String".charCodeAt(0).toString(16)) wordt bijvoorbeeld weergegeven hexadecimale code, Russische letter "S": 421., …, concat-methode) .: hexadecimale code, Russische letter "S": 421., …, concat-methode.concat( Creëert HTML-hyperlink

(). lijn0 lijn1

Converteert een object naar een tekenreeks. + hexadecimale code + Russische letter "S": 421. + … + concat-methode

tekenreeksN

eventuele tekenreeksexpressies

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. concat Creëert HTML-hyperlink

(). retourneert een nieuwe tekenreeks die de aaneenschakeling is van de oorspronkelijke tekenreeks en de methode-argumenten. Deze methode is gelijkwaardig aan de bewerking anker lengte eigendom Syntaxis … De operator document.write("Frost and sun..concat("Wonderful day.")) geeft bijvoorbeeld de regel Frost and sun op het browserscherm weer. Het is een prachtige dag.

vaste methode

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks..vast() .: vast. Creëert HTML-hyperlink

(). Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst in een teletype-lettertype weer te geven. De verklaring document.write("Mijn tekst".fixed()) zal bijvoorbeeld de string Mijn tekst op het browserscherm weergeven. anker lengte eigendom Syntaxis vast>….anker( lettertypekleur methode.fontcolor(kleur)

kleur

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. tekenreeks expressie lettertypekleur) .: lettertypekleur opgegeven kleur Creëert HTML-hyperlink

(). . De verklaring document.write("Mijn tekst".fontcolor("red")) zal bijvoorbeeld de tekenreeks Mijn tekst op het browserscherm weergeven. anker lengte eigendom Syntaxis … lettertypegrootte methode .lettergrootte( maat

numerieke expressie

Converteert alle letters in een tekenreeks naar kleine letters. lettergrootte ., Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst in een lettertype weer te geven, …, gegeven maat) .: ., Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst in een lettertype weer te geven, …, gegeven maat. De verklaring document.write("Mijn tekst".fontsize(5)) zal bijvoorbeeld de string Mijn tekst op het browserscherm weergeven. Creëert HTML-hyperlink

(). fromCharCode-methode creëert een nieuwe string (maar geen stringobject) die een aaneenschakeling is Unicode-tekens met codes ., Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst in een lettertype weer te geven, …, gegeven maat.

Dit is een statische methode van een object Snaar, zodat u niet specifiek een stringobject hoeft te maken om er toegang toe te krijgen. Voorbeeld:

Var s = String.fromCharCode(65, 66, 67); // s is gelijk aan "ABC"

indexVan methode

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks..indexOf( subtekenreeks[,begin]?) .: subtekenreeks elke tekenreeksexpressie begin positie Creëert charCodeAt-methode

(). indexVan keert terug naar de eerste positie subtekenreeksen in de primitieve tekenreekswaarde lengte eigendom. Converteert een object naar een tekenreeks. begin begin begin begin meer dan Converteert een object naar een tekenreeks. Converteert een object naar een tekenreeks.

Er wordt van links naar rechts gezocht. Voor het overige is deze methode identiek aan de methode.

In het volgende voorbeeld wordt het aantal keren dat het subtekenreekspatroon voorkomt in de tekenreeks str geteld.

Functie optreden(str, patroon) ( var pos = str.indexOf(patroon); for (var count = 0; pos != -1; count++) pos = str.indexOf(patroon, pos + patroon.lengte); return count ;)

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. Cursieve methode Creëert HTML-hyperlink

(). .cursief() anker lengte eigendom Syntaxis … cursief Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst vetgedrukt weer te geven. De operator document.write("Mijn tekst".bold()) geeft bijvoorbeeld de regel weer .

.

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst cursief weer te geven. De operator document.write("Mijn tekst".italics()) zal de regel bijvoorbeeld weergeven subtekenreeks[,begin]?) .: subtekenreeks elke tekenreeksexpressie begin positie Creëert charCodeAt-methode

(). lastIndexOf-methode.laatsteIndexOf( subtekenreeksen laatsteIndexOf lengte eigendom Converteert een object naar een tekenreeks. geeft de laatste positie terug begin in de primitieve tekenreekswaarde begin. -1. begin Als er een optioneel argument wordt opgegeven begin meer dan Converteert een object naar een tekenreeks., dan wordt de zoekopdracht uitgevoerd vanaf de positie Converteert een object naar een tekenreeks.;

zo niet, dan vanaf positie 0, d.w.z. vanaf het eerste teken van de regel. Als

negatief, dan wordt het gelijk aan nul gesteld; Als

. -1, dan wordt het gelijk genomen

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks.. -1. Als het object deze subtekenreeks niet bevat, wordt de waarde -1 geretourneerd.) .: Als het object deze subtekenreeks niet bevat, wordt de waarde -1 geretourneerd. Er wordt van rechts naar links gezocht. Voor het overige is deze methode identiek aan de methode. Creëert HTML-hyperlink

(). Voorbeeld: anker lengte eigendom Var n = "Witte walvis".lastIndexOf("walvis"); // n is gelijk aan 6 koppeling methode Als het object deze subtekenreeks niet bevat, wordt de waarde -1 geretourneerd..link(

uri

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. elke tekenreeksexpressie Russische letter "S": 421.) .: Russische letter "S": 421. Er wordt van rechts naar links gezocht. Voor het overige is deze methode identiek aan de methode. Creëert link

, ingesloten in uri-tags

(). "> . Er is geen controle om te zien of de bronreeks al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om een ​​hyperlink in een HTML-document te maken met de opgegeven. De instructie document.write("My Text.link("#Bookmark")) is bijvoorbeeld gelijk aan de instructie document.write("My Text") . lengte eigendom localeCompare-methode .localeVergelijk(: nummer .localeVergelijk( Steun

localeVergelijk

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. vergelijkt twee strings, rekening houdend met de nationale instellingen van het besturingssysteem. Het retourneert -1 als een primitieve waarde is minder) .: minder Creëert lijnen1

(). , +1 als het groter is minder lengte eigendom, en 0 als deze waarden hetzelfde zijn. match methode.overeenkomst(

  • Als minder geen globale zoekoptie bevat, wordt de methode uitgevoerd minder.uitvoerend(Converteert een object naar een tekenreeks.) en het resultaat wordt geretourneerd. De resulterende array bevat de gevonden subtekenreeks in het element met index 0, en de overige elementen bevatten subtekenreeksen die overeenkomen met de subexpressies minder, ingesloten haakjes.
  • Als minder bevat een globale zoekoptie en vervolgens de methode minder.uitvoerend(Converteert een object naar een tekenreeks.) wordt uitgevoerd zolang er overeenkomsten worden gevonden. Als n het aantal gevonden overeenkomsten is, is het resultaat een array van n elementen die de gevonden substrings bevatten. Eigendom minder.laatsteIndex een positienummer toegewezen in de bronreeks dat verwijst naar het eerste teken na de laatst gevonden overeenkomst, of 0 als er geen overeenkomsten zijn gevonden.

Er moet aan worden herinnerd dat de methode minder.uitvoerend verandert objecteigenschappen minder. Voorbeelden:

methode vervangen

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks..vervangen( minder,lijn) Converteert een object naar een tekenreeks..vervangen( minder,functie) .: minder reguliere expressie tekenreeks tekenreeksexpressie functie functienaam of functiedeclaratie Creëert: nieuwe lijn

(). vervangen komt overeen met reguliere expressie minder met een primitieve tekenreekswaarde lengte eigendom en vervangt de gevonden substrings door andere substrings. Het resultaat is een nieuwe string, die een kopie is van de originele string, waarbij de vervangingen zijn aangebracht. De vervangingsmethode wordt bepaald door de globale zoekoptie in minder en het type van het tweede argument.

Als minder geen globale zoekoptie bevat, wordt er gezocht naar de eerste subtekenreeks die overeenkomt minder en deze wordt vervangen. minder Als minder bevat een globale zoekoptie, waarna alle substrings overeenkomen

lijn, en ze worden vervangen. , dan wordt elke gevonden subtekenreeks ermee vervangen. In dit geval kan de regel de volgende objecteigenschappen bevatten RegExp

, zoals $1 , $9 , lastMatch , lastParen , leftContext en rightContext . functie De operator document.write("Heerlijke appels, sappige appels.".replace(/apples/g, "peren")) zal bijvoorbeeld de regel Heerlijke peren, sappige peren op het browserscherm weergeven. minder Als het tweede argument dat is vervangen, dan wordt elke gevonden subtekenreeks vervangen door deze functie aan te roepen. De functie heeft de volgende argumenten. Het eerste argument is de gevonden subtekenreeks, gevolgd door argumenten die overeenkomen met alle subexpressies

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

zal de regel 100C op het browserscherm weergeven.

Houd er rekening mee dat deze methode de eigenschappen van het object verandert minder.

Voorbeeld vervangen

Het vervangen van alle exemplaren van een substring in een string

Het komt vaak voor dat u alle exemplaren van één string moet vervangen door een andere string:

Var str = "foobarfoobar"; str=str.vervangen(/foo/g,"xxx"); // het resultaat is str = "xxxbarxxxbar";

zoekmethode

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks..zoekopdracht( minder) .: minder elke reguliere expressie Creëert: numerieke expressie

(). zoekopdracht komt overeen met reguliere expressie minder met een primitieve tekenreekswaarde lengte eigendom. Het resultaat van de match is de positie van de eerste gevonden substring, geteld vanaf nul, of -1 als er geen matches zijn. Tegelijkertijd is de globale zoekoptie in minder wordt genegeerd, en eigenschappen minder verander niet.

Voorbeelden:

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. slice-methode begin [,.plak(]?) .: begin En .plak( einde Creëert: nieuwe lijn

(). alle numerieke uitdrukkingen lengte eigendom plak begin, vanuit positie .plak( te positioneren .plak( begin, zonder het erbij te betrekken. Als

en tot het einde van de oorspronkelijke regel. Converteert een object naar een tekenreeks. Lijntekenposities zijn genummerd van nul tot begin Converteert een object naar een tekenreeks.. +begin. -1. .plak( Als de waarde Converteert een object naar een tekenreeks.. +.plak(.

Als de waarde

negatief, dan wordt het vervangen door

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks.. Creëert HTML-hyperlink

(). Met andere woorden: negatieve argumenten worden behandeld als verschuivingen vanaf het einde van de tekenreeks. anker lengte eigendom Syntaxis ….anker( Het resultaat is een stringwaarde, geen stringobject. De instructie document.write("ABCDEF.slice(2,-1)) drukt bijvoorbeeld de tekenreeks CDE af op het browserscherm. kleine methode

.klein()

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. klein kleine lettertjes [,. De verklaring document.write("Mijn tekst".small()) zal bijvoorbeeld de tekenreeks Mijn tekst op het browserscherm weergeven.]?) .: kleine lettertjes gesplitste methode . De verklaring document.write("Mijn tekst".small()) zal bijvoorbeeld de tekenreeks Mijn tekst op het browserscherm weergeven. opgegeven kleur Creëert.split( scheidingsteken)

(). nummer tekenreeks of reguliere expressie lengte eigendom: stringarray(object Array gesplitst

breekt de primitieve waarde . De verklaring document.write("Mijn tekst".small()) zal bijvoorbeeld de tekenreeks Mijn tekst op het browserscherm weergeven. naar een array van subtekenreeksen en retourneert deze. De indeling in substrings gaat als volgt. De bronreeks wordt van links naar rechts gescand scheidingsteken. Zodra het is gevonden, wordt de subtekenreeks vanaf het einde van het vorige scheidingsteken (of vanaf het begin van de regel als dit de eerste keer is dat het scheidingsteken voorkomt) tot het begin van het gevonden scheidingsteken toegevoegd aan de subtekenreeksarray. Het scheidingsteken zelf verschijnt dus niet in de tekst van de subtekenreeks.

Optioneel argument specificeert de maximaal mogelijke grootte van de resulterende array. Als het is opgegeven, dan na selectie

cijfers De substringmethode wordt afgesloten, zelfs als de scan van de originele string nog niet is voltooid. Scheidingsteken

zal de regel Tekst, vet en cursief op het browserscherm weergeven.

stakingsmethode

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks..staking() Creëert HTML-hyperlink

(). staking anker lengte eigendom Syntaxis ….

Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst in een doorgehaald lettertype weer te geven. De verklaring document.write("Mijn tekst".strike()) zal bijvoorbeeld de tekenreeks Mijn tekst op het browserscherm weergeven.

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. sub-methode Creëert HTML-hyperlink

(). .sub() anker lengte eigendom Syntaxis … sub

.

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst als subscript weer te geven. De verklaring document.write("Mijn tekst".sub()) zal bijvoorbeeld de string Mijn tekst op het browserscherm weergeven. .charAt( [,substr-methode]?) .: .charAt( En substr-methode. De verklaring document.write("Mijn tekst".fontsize(5)) zal bijvoorbeeld de string Mijn tekst op het browserscherm weergeven. Creëert HTML-hyperlink

(). onderstr.substr( lengte eigendom lengte retourneert een tekenreeks die bestaat uit het teken dat zich in het gegeven bevindt retourneert een subtekenreeks van de primitieve waarde van een tekenreeks substr-methode beginnend hiermee substr-methode en bevattend retourneert een tekenreeks die bestaat uit het teken dat zich in het gegeven bevindt karakters. Als substr-methode niet is opgegeven, wordt er een subtekenreeks geretourneerd, beginnend bij de gegeven tekenreeks

en tot het einde van de oorspronkelijke regel. Converteert een object naar een tekenreeks. en tot het einde van de oorspronkelijke regel. Als .charAt( negatief of nul is, wordt een lege string geretourneerd. Converteert een object naar een tekenreeks.. -1. .charAt( Als Converteert een object naar een tekenreeks..+.charAt(.

groter dan of gelijk aan., dan wordt een lege string geretourneerd. Als .charAt( negatief is, wordt het geïnterpreteerd als een verschuiving vanaf het einde van de regel, d.w.z. het wordt vervangen door Opmerking. Als

is dan negatief

Internet Explorer

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks. vervangt deze per ongeluk door 0, dus om compatibiliteitsredenen mag deze optie niet worden gebruikt. begin [,.plak(]) .: begin En .plak(. De verklaring document.write("Mijn tekst".fontsize(5)) zal bijvoorbeeld de string Mijn tekst op het browserscherm weergeven. Creëert HTML-hyperlink

(). Var src = "abcdef"; var s1 = src.substr(1, 3); // "bcd" var s2 = src.substr(1); // "bcdef" var s3 = src.substr(-1); // "f", maar in MSIE: "abcdef".substr( lengte eigendom plak begin, vanuit positie .plak( te positioneren .plak( substring-methode begin, zonder het erbij te betrekken. Als

en tot het einde van de oorspronkelijke regel. Converteert een object naar een tekenreeks..subtekenreeks( . Lijntekenposities zijn genummerd van nul tot subtekenreeks begin niet is opgegeven, wordt er een subtekenreeks geretourneerd, beginnend vanaf positie . -1. Negatieve argumenten of gelijk begin worden vervangen door nul; als het argument groter is dan de lengte van de originele string, dan wordt het ermee vervangen. Als meer einde

, dan wisselen ze van plaats. Als

gelijk aan

einde

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks., dan wordt er een lege string teruggegeven. Creëert HTML-hyperlink

(). Het resultaat is een stringwaarde, geen stringobject. Voorbeelden: anker lengte eigendom Syntaxis … Var src = "abcdef"; var s1 = src.substring(1, 3); // "bc" var s2 = src.substring(1, -1); // "a" var s3 = src.substring(-1, 1); // "A"

sup-methode

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks..sup() Creëert sup

, ingesloten in uri-tags. Er is geen controle om te zien of de originele string al tussen deze tags zat. Deze methode wordt gebruikt in combinatie met de methoden document.write en document.writeln om tekst als superscript weer te geven. De verklaring document.write("Mijn tekst".sup()) zal bijvoorbeeld de string Mijn tekst op het browserscherm weergeven. toLocaleLowerCase-methode

(). naarLocaleLowerCase retourneert een nieuwe string waarin alle letters van de originele string worden vervangen door kleine letters, rekening houdend met de landinstellingen van het besturingssysteem. De overige tekens van de originele string worden niet gewijzigd. De originele string blijft hetzelfde. Normaal gesproken retourneert deze methode hetzelfde resultaat als ; het verschil is alleen mogelijk als de taalcodering in strijd is met de Unicode-regels voor het omzetten van hoofdletters naar kleine letters.

toLocaleUpperCase-methode

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks..toLocaleUpperCase() Creëert sup

, ingesloten in uri-tags: Internet Explorer Ondersteund vanaf versie 5.5. Netscape Navigator Niet ondersteund.

(). naarLokaleHoofdletter retourneert een nieuwe tekenreeks waarin alle letters van de oorspronkelijke tekenreeks zijn vervangen door hoofdletters, rekening houdend met de landinstellingen van het besturingssysteem. De overige tekens van de originele string worden niet gewijzigd. De originele string blijft hetzelfde. Normaal gesproken retourneert deze methode hetzelfde resultaat als ; het verschil is alleen mogelijk als de taalcodering in strijd is met de Unicode-regels voor het omzetten van kleine letters naar hoofdletters.

naar Kleine letters-methode

Converteert alle letters in een tekenreeks naar kleine letters. : Converteert een object naar een tekenreeks..naarLowerCase() Creëert: nieuwe lijn

(). naar kleine letters retourneert een nieuwe tekenreeks waarbij alle letters van de originele tekenreeks zijn vervangen door kleine letters. De overige tekens van de originele string worden niet gewijzigd. De originele string blijft hetzelfde. De instructie document.write("String object.toLowerCase()) zal bijvoorbeeld de stringobjectstring op het browserscherm afdrukken.

Groeten aan iedereen die grondig heeft besloten een prototype-georiënteerde taal te leren. De vorige keer vertelde ik je over , en vandaag zullen we JavaScript-strings parseren. Omdat in deze taal alle tekstelementen strings zijn (er is geen apart formaat voor karakters), kun je raden dat deze sectie een belangrijke rol speelt bij het leren van js-syntaxis.

Daarom zal ik je in deze publicatie vertellen hoe string-elementen worden gemaakt, welke methoden en eigenschappen ervoor beschikbaar zijn, hoe je strings correct converteert, bijvoorbeeld naar een getal converteert, hoe je de gewenste substring kunt extraheren en nog veel meer. Daarnaast zal ik voorbeelden bijvoegen programmacode. Laten we nu aan de slag gaan!

Syntaxis van tekenreeksvariabelen

In de js-taal worden alle variabelen gedeclareerd met behulp van het trefwoord var, en vervolgens wordt, afhankelijk van het formaat van de parameters, het type van de gedeclareerde variabele bepaald. Zoals u zich herinnert uit JavaScript, is er geen sprake van krachtig typen. Daarom bestaat deze situatie in de code.

Bij initialisatie variabele waarden kan worden ingelijst in dubbel, enkel en vanaf 2015 tussen scheve enkele aanhalingstekens. Hieronder heb ik voorbeelden bijgevoegd van elke methode voor het declareren van strings.

Ik wil speciale aandacht besteden aan de derde methode. Het heeft een aantal voordelen.

Met zijn hulp kunt u eenvoudig een regeleinde uitvoeren en het ziet er als volgt uit:

alert(`meerdere

Ik ben aan het overstappen

En met de derde methode kun je de constructie $(…) gebruiken. Dit hulpmiddel is nodig om interpolatie in te voegen. Wees niet ongerust, nu zal ik je vertellen wat het is.

Dankzij $(…) kun je niet alleen variabele waarden in strings invoegen, maar er ook rekenkundige en logische bewerkingen mee uitvoeren, methoden, functies aanroepen, enz. Dit alles wordt één term genoemd: interpolatie. Bekijk een voorbeeldimplementatie van deze aanpak.

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

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

Als gevolg hiervan wordt de uitdrukking “3 + 1*5 = 8” op het scherm weergegeven.

Wat betreft de eerste twee manieren om strings te declareren: er is geen verschil.

Laten we het even hebben over speciale karakters

Veel programmeertalen hebben dat speciale karakters, waarmee u tekst in regels kunt beheren. De meest bekende onder hen is regeleinde (\N).

Alle vergelijkbare tools beginnen aanvankelijk met een backslash (\) en worden gevolgd door letters van het Engelse alfabet.

Hieronder heb ik een kleine tabel bijgevoegd met enkele speciale tekens.

Wij beschikken over een zwaar arsenaal aan methoden en eigenschappen

De taalontwikkelaars hebben veel methoden en eigenschappen geleverd om het werken met strings te vereenvoudigen en te optimaliseren. En met de release van een nieuwe standaard genaamd ES-2015 vorig jaar werd deze lijst aangevuld met nieuwe tools.

Lengte

Ik begin met de meest populaire eigenschap, die helpt bij het achterhalen van de lengte van de waarden van stringvariabelen. Dit HTML-bladwijzer. Het wordt op deze manier gebruikt:

var string = "Eenhoorns";

alert(string.lengte);

Bij het antwoord wordt het getal 9 weergegeven. Ook dit pand kan worden toegepast op de waarden zelf:

"Eenhoorns".lengte;

Het resultaat zal niet veranderen.

charAt()

Met deze methode kunt u een specifiek teken uit tekst extraheren. Laat me je eraan herinneren dat nummering begint vanaf nul, dus om het eerste teken uit een string te extraheren, moet je de volgende opdrachten schrijven:

var string = "Eenhoorns";

alert(string.charAt(0));.

Het resulterende resultaat zal echter geen tekentype zijn; het wordt nog steeds beschouwd als een reeks van één letter.

Van naarLowerCase() naar UpperCase()

Deze methoden bepalen het hoofdlettergebruik van karakters. Bij het schrijven van de code "Inhoud".

naarHoofdletter() het hele woord wordt in hoofdletters weergegeven.

Voor het tegenovergestelde effect moet u “Inhoud” gebruiken. toLowerCase().

indexVan()

Gevraagd en het juiste middel om naar een subtekenreeks te zoeken. Als argument moet u het woord of de woordgroep invoeren die u wilt vinden, en de methode retourneert de positie van het gevonden element. Als de gezochte tekst niet werd gevonden, wordt “-1” aan de gebruiker geretourneerd.

1 2 3 4 var text = "Organiseer een bloemenzoektocht!"; alert(text.indexOf("kleur")); //19 waarschuwing(tekst.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

var text = "Organiseer een bloemenzoektocht!"; alert(text.indexOf("kleur")); //19 waarschuwing(tekst.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

Merk op dat lastIndexOf() hetzelfde doet, alleen zoekt het vanaf het einde van de zin.

Extractie van substrings

Voor deze actie zijn in js drie ongeveer identieke methoden gemaakt.

Laten we er eerst naar kijken subtekenreeks (begin, einde) En segment (begin, einde). Ze werken hetzelfde. Het eerste argument definieert de startpositie van waaruit de extractie zal beginnen, en het tweede is verantwoordelijk voor het uiteindelijke stoppunt. Bij beide methoden wordt de string geëxtraheerd zonder het teken dat zich op de eindpositie bevindt, op te nemen.

var text = "Sfeer"; alert(tekst.substring(4)); // geeft een “bol”-waarschuwing weer (text.substring(2, 5)); // toon "mos"-waarschuwing (text.slice (2, 5)); //toon "mos"

Laten we nu eens kijken naar de derde methode, die wordt genoemd substr(). Het moet ook twee argumenten bevatten: begin En HTML-bladwijzer.

De eerste specificeert de startpositie en de tweede specificeert het aantal tekens dat moet worden geëxtraheerd. Om de verschillen tussen deze drie tools te traceren, heb ik het vorige voorbeeld gebruikt.

var text = "Sfeer";

alert(tekst.substr(2, 5)); //toon "mosfe"

Met behulp van de genoemde manieren om substrings te nemen, kunt u onnodige tekens verwijderen uit nieuwe regelelementen waarmee het programma vervolgens werkt.

Antwoord()

Deze methode helpt bij het vervangen van tekens en subtekenreeksen in tekst. Het kan ook worden gebruikt om globale vervangingen te implementeren, maar hiervoor moet u reguliere expressies opnemen.

In dit voorbeeld wordt alleen de subtekenreeks in het eerste woord vervangen.

var text = "Atmosfeer Sfeer"; var newText = text.replace("Atmo", "Strato") alert(newText) // Resultaat: Stratosfeer-atmosfeer

En hierin software-implementatie Vanwege de reguliere expressievlag “g” wordt er een globale vervanging uitgevoerd.

var text = "Atmosfeer Sfeer"; var newText = text.replace(/Atmo/g,"Strato") alert(newText) // Resultaat: Stratosfeer Stratosfeer

Laten we de conversie doen

JavaScript biedt slechts drie typen objecttypeconversie:

  1. Numeriek;
  2. Snaar;
  3. Booleaans.

In de huidige publicatie zal ik er twee bespreken, omdat kennis erover meer noodzakelijk is voor het werken met snaren.

Numerieke conversie

Om de waarde van een element expliciet om te zetten in numerieke vorm, kan worden gebruikt Getal (waarde).

Er is ook een kortere uitdrukking: +"999".

var a = Getal("999");

String-conversie

Uitgevoerd door de functie alert, evenals een expliciete oproep Tekenreeks(tekst).

1 2 3 alert (999+ "superprijs") var text = String(999) alert(text === "999");

alert (999+ "superprijs") var text = String(999) alert(text === "999");

Op dit punt besloot ik mijn werk af te ronden. Abonneer je op mijn blog en vergeet niet de link ernaartoe met je vrienden te delen. Ik wens je veel succes met je studie. Tot ziens!

Met vriendelijke groet, Roman Chueshov

Lezen: 130 keer

Een tekenreeks is een reeks van een of meer tekens die letters, cijfers en andere symbolen kunnen bevatten. In JavaScript is dit het eenvoudigste onveranderlijke gegevenstype.

Met tekenreeksen kunt u tekst weergeven en manipuleren, en tekst is de belangrijkste manier om te communiceren en informatie op internet te verzenden. Daarom zijn strings een van de belangrijkste concepten van programmeren.

In deze tutorial leert u hoe u tekenreeksuitvoer maakt en bekijkt, tekenreeksen samenvoegt en in variabelen opslaat. U leert ook de regels voor het gebruik van aanhalingstekens, apostrofs en overgangen. nieuwe lijn in JavaScript.

Een string maken en bekijken

Er zijn drie manieren om een ​​string in JavaScript te maken: ze kunnen tussen enkele aanhalingstekens (‘), dubbele aanhalingstekens (‘) of backticks (`) worden geschreven. Hoewel scripts soms alle drie soorten tekenreeksen bevatten, mag er binnen één regel slechts één type aanhalingsteken worden gebruikt.

Tekenreeksen met enkele en dubbele aanhalingstekens zijn in essentie hetzelfde. Er zijn geen conventies met betrekking tot het gebruik van het ene of het andere type aanhalingstekens, maar over het algemeen wordt aanbevolen om één type consistent te gebruiken in programmascripts.

"Deze string gebruikt enkele aanhalingstekens.";
"Deze string gebruikt dubbele aanhalingstekens.";

Derde en de nieuwste manier het maken van een string wordt een letterlijke sjabloon genoemd. Sjabloonletterlijke waarden worden tussen aanhalingstekens geschreven (ook wel een backtick genoemd) en werken op dezelfde manier als gewone snaren met meerdere extra functies die we in dit artikel zullen bekijken.

`Deze string gebruikt backticks.`;

De eenvoudigste manier om de uitvoer van een string te bekijken, is door deze in de console in te voeren met behulp van console.log().

console.log("Dit is een string in de console.");
Dit is een string in de console.

Aan anderen op een eenvoudige manier om de waarde van een string op te vragen is een pop-upvenster in de browser dat kan worden opgeroepen met alert():

alert("Dit is een tekenreeks in een waarschuwing.");

Deze regel opent een meldingsvenster in de browser met de volgende tekst:

Dit is een tekenreeks in een waarschuwing.

De methode alert() wordt minder vaak gebruikt omdat waarschuwingen voortdurend moeten worden gesloten.

Tekenreeksen opslaan in variabelen

Variabelen in JavaScript worden containers genoemd waarin waarden worden opgeslagen met behulp van trefwoorden var, const of let. Strings kunnen aan variabelen worden toegewezen.

const newString = "Dit is een string die aan een variabele is toegewezen.";

De newString-variabele bevat nu een tekenreeks waarnaar kan worden verwezen en die kan worden weergegeven met behulp van de console.

console.log(nieuweString);
Dit is een string die aan een variabele is toegewezen.

Door strings aan variabelen toe te wijzen, hoeft u de string niet telkens opnieuw te typen wanneer u deze wilt uitvoeren, waardoor het gemakkelijker wordt om met strings binnen programma's te werken.

Aaneenschakeling van tekenreeksen

String-aaneenschakeling is het proces waarbij twee of meer strings worden gecombineerd tot één nieuwe string. Aaneenschakeling gebeurt met behulp van de operator +. Het +-symbool is ook de opteloperator bij wiskundige bewerkingen.

Probeer bijvoorbeeld twee korte tekenreeksen aan elkaar te koppelen:

"Zee" + "paard";
Zeepaardje

Aaneenschakeling verbindt het einde van een string met het begin van een andere string zonder spaties in te voegen. Om een ​​spatie tussen de regels te hebben, moet deze aan het einde van de eerste regel worden toegevoegd.

"Zee" + "paard";
Zeepaardje

Met aaneenschakeling kunt u tekenreeksen en variabelen samenvoegen met tekenreekswaarden.



const favePoem = "Mijn favoriete gedicht is " + gedicht + " van " + auteur ".";

De nieuwe strings die het resultaat zijn van aaneenschakeling kunnen in het programma worden gebruikt.

Variabelen met sjabloonletterlijke waarden

Een van de kenmerken van sjabloonletterlijke waarden is de mogelijkheid om expressies en variabelen in de tekenreeks op te nemen. In plaats van aaneenschakeling kunt u de syntaxis $() gebruiken om een ​​variabele in te voegen.

const gedicht = "De brede oceaan";
const auteur = "Pablo Neruda";
const favePoem = `Mijn favoriete gedicht is $(gedicht) van $(auteur).`;
Mijn favoriete gedicht is De wijde oceaan van Pablo Neruda.

Met deze syntaxis kunt u hetzelfde resultaat verkrijgen. Sjabloonletterlijke waarden maken het samenvoegen van tekenreeksen eenvoudiger.

Tekenreeksliterals en tekenreekswaarden

Zoals je misschien hebt gemerkt, worden alle strings tussen aanhalingstekens of achteraanhalingstekens geschreven, maar bij uitvoer bevat de string geen aanhalingstekens.

"Voorbij de zee";
Voorbij de zee

Een letterlijke tekenreeks is een tekenreeks zoals deze voorkomt broncode, inclusief citaten. De tekenreekswaarde is de tekenreeks die in de uitvoer verschijnt (zonder de aanhalingstekens).

IN in dit voorbeeld"Beyond the Sea" is een letterlijke tekenreeks en Beyond the Sea is een tekenreekswaarde.

Aanhalingstekens en apostrofs in tekenreeksen doorkruisen

Omdat aanhalingstekens worden gebruikt om tekenreeksen aan te duiden, zijn er speciale regels voor het gebruik van apostrofs en aanhalingstekens in tekenreeksen. JavaScript interpreteert bijvoorbeeld een apostrof in het midden van een string met enkele aanhalingstekens als een afsluitend enkel aanhalingsteken, en probeert de rest van de bedoelde string als code te lezen.

Beschouw dit voorbeeld:

const gebrokenString = "Ik ben een gebroken string";
console.log(brokenString);
onbekend: Onverwacht token (1:24)

Hetzelfde gebeurt als u dubbele aanhalingstekens probeert te gebruiken binnen een tekenreeks met dubbele aanhalingstekens. De tolk zal het verschil niet merken.

Om te vermijden soortgelijke fouten, kunt u gebruik maken van:

  • Verschillende tekenreekssyntaxis.
  • Ontsnappingssymbolen.
  • Sjabloon letterlijk.

Alternatieve tekenreekssyntaxis

De eenvoudigste manier om dit probleem te omzeilen, is door de tegenovergestelde syntaxis te gebruiken dan degene die u in het script gebruikt. Plaats bijvoorbeeld tekenreeksen met apostrofs tussen dubbele aanhalingstekens:

"We gebruiken veilig een apostrof tussen dubbele aanhalingstekens."

Tekenreeksen met aanhalingstekens kunnen tussen enkele aanhalingstekens worden geplaatst:

"Toen zei hij: "Hallo wereld!";

Door enkele en dubbele aanhalingstekens te combineren, kunt u de weergave van aanhalingstekens en apostrofs binnen tekenreeksen beheren. Dit heeft echter invloed op de consistentie van de syntaxis in de projectbestanden, waardoor ze moeilijk te onderhouden zijn.

Ontsnappingskarakter \

Door een backslash te gebruiken, interpreteert JavaScript aanhalingstekens niet als afsluitende aanhalingstekens.

De combinatie \' wordt altijd behandeld als een apostrof en \" als dubbele aanhalingstekens, geen uitzonderingen.

Hierdoor kunnen apostrofs worden gebruikt in tekenreeksen met enkele aanhalingstekens en kunnen citaten worden gebruikt in tekenreeksen met dubbele aanhalingstekens.

"We gebruiken veilig een apostrof tussen enkele aanhalingstekens.\"
"Toen zei hij: \"Hallo wereld!\"";

Deze methode ziet er een beetje rommelig uit. Maar het is nodig als dezelfde regel zowel een apostrof als dubbele aanhalingstekens bevat.

Sjabloonletterlijke waarden

Sjabloonletterlijke waarden worden gedefinieerd door aanhalingstekens, zodat zowel dubbele aanhalingstekens als apostrofs veilig kunnen worden gebruikt zonder enige extra manipulatie.

`We gebruiken veilig apostrofs en "aanhalingstekens" in een letterlijke sjabloon.`;

Sjabloonliterals voorkomen niet alleen fouten bij het weergeven van aanhalingstekens en apostrofs, maar bieden ook ondersteuning voor inline-expressies en blokken met meerdere regels, zoals hier beschreven. we zullen praten in de volgende sectie.

Meerregelige regels en nieuwe regel

In sommige situaties is het nodig om een ​​nieuwregelteken of een regeleinde in te voegen. De escape-tekens \n of \r helpen bij het invoegen van een nieuwe regel in de code-uitvoer.

const threeLines = "Dit is een tekenreeks\ndie zich over\ndrie regels uitstrekt.";
Dit is een touwtje
dat overspant
drie lijnen.

Hierdoor wordt de uitvoer in meerdere regels opgesplitst. Als de code echter lange regels bevat, zal het moeilijk zijn om ermee te werken en deze te lezen. Gebruik de aaneenschakelingsoperator om één tekenreeks op meerdere regels weer te geven.

const threeLines = "Dit is een tekenreeks\n" +
"dat zich uitstrekt over\n" +
"drie regels.";

Je kunt ook aan een nieuwe regel ontsnappen met behulp van het escape-teken \.

const threeLines = "Dit is een tekenreeks\n\
dat zich uitstrekt over\n\
drie regels.";

groter dan of gelijk aan: Deze methode wordt niet aanbevolen, omdat deze in sommige browsers problemen kan veroorzaken.

Gebruik sjabloonliterals om uw code leesbaar te maken. Dit elimineert aaneenschakelings- en escape-tekens.

const threeLines = `Dit is een string
dat overspant
drie regels.`;
Dit is een touwtje
dat overspant
drie lijnen.

Omdat verschillende codebases verschillende standaarden kunnen gebruiken, is het belangrijk om alle manieren te kennen om op een nieuwe regel af te breken en strings met meerdere regels te maken.

Conclusie

Nu u de basisprincipes kent van het werken met tekenreeksen in JavaScript, kunt u tekenreeksen en letterlijke sjablonen maken, aaneenschakeling en traversal uitvoeren en tekenreeksen aan variabelen toewijzen.

Tags:

Dit artikel gaat over wat is tekenreeksen in JavaScript en methoden om ermee te werken.

Tekenreeksen zijn eenvoudigweg groepen tekens, zoals 'JavaScript', ' Hallo wereld! ", "http://www.quirksmode.org" of zelfs "14". Om in JavaScript te programmeren, moet je weten wat strings zijn en hoe je ermee moet werken, aangezien je ze heel vaak zult moeten gebruiken. Veel dingen zoals pagina-URL's, waarden CSS-parameters en formulierinvoerelementen zijn allemaal strings.

Ik zal het eerst proberen uit te leggen werken met snaren, dan het verschil tussen in JavaScript. Zelfs als je programmeerervaring hebt in een andere taal, lees dit deel dan aandachtig door. Aan het einde zal ik het hebben over het belangrijkste tekenreeksen in JavaScript.

Basisprincipes van snaren

Laten we eens kijken naar de basisprincipes van het werken met tekenreeksen in JavaScript.

Aanhalingstekens gebruiken

Wanneer je het aankondigt tekenreeksen in JavaScript of ermee werkt, plaats ze dan altijd tussen enkele of dubbele aanhalingstekens. Dit vertelt de browser dat het met een string te maken heeft. Meng het gebruik van aanhalingstekens in uw code niet; als u een regel begint met een enkel aanhalingsteken en eindigt met een dubbel aanhalingsteken, begrijpt JavaScript niet wat u bedoelde. Meestal gebruik ik enkele aanhalingstekens als ik met tekenreeksen werk, omdat ik ervoor heb gekozen om dubbele aanhalingstekens te gebruiken voor HTML en enkele aanhalingstekens voor JavaScript. Natuurlijk kun je alles anders doen, maar ik raad je aan om voor jezelf een soortgelijke regel te bedenken.

Laten we ons twee regels voorstellen die we in het hele artikel zullen gebruiken:

Var a = "Hallo wereld!"; var b = "Ik ben een student.";

We hebben nu twee variabelen gedeclareerd, "a" en "b", en daaraan stringwaarden toegewezen. Daarna kunnen we met ze samenwerken, maar laten we eerst één probleem oplossen: laten we zeggen dat ik schreef:

Var b = "Ik ben een student.";

De string bevat een extra enkel aanhalingsteken en JavaScript denkt dat de string compleet is en geeft een foutmelding weer zonder te begrijpen wat er daarna komt. Daarom heb je nodig ontsnappen citaat, waarbij de browser wordt verteld het als een teken te behandelen en niet als een regeleinde. Dit wordt gedaan met behulp van een backslash vóór het citaat:

Var b = "Ik ben een student.";

Houd er rekening mee dat u dubbele aanhalingstekens in een tekenreeks kunt invoegen zonder ze te laten ontsnappen. Omdat u enkele aanhalingstekens gebruikt om de tekenreeks te beginnen en te beëindigen,

Var b = "Ik ben een "student".";

zonder problemen waargenomen. Dubbele aanhalingstekens worden automatisch behandeld als delen van een string in plaats van als een commando.

Ingebouwde functies

Zodra de strings zijn gedefinieerd, kunt u ze gaan gebruiken. Dat kan bijvoorbeeld de ene string aan de andere koppelen, of neem een ​​substring uit de string “b”, bestaande uit het tweede tot en met de vierde karakter, en plaats deze in het midden van de string “a”, of bepaal welk karakter het twaalfde is in “a”, hoeveel karakters er in “b” staan ”, of ze de letter “q” bevatten enz.

Om dit te doen, kunt u de ingebouwde functies gebruiken die JavaScript voor elke regel vooraf definieert. Een daarvan, 'lengte', retourneert de lengte van de tekenreeks. Dat wil zeggen, als u de lengte van "Hallo wereld!" wilt berekenen, schrijf dan:

Var c = "Hallo wereld!".lengte;

Voorheen hebben we deze string toegewezen aan de variabele "a". Je hebt dus van de variabele "a" een string gemaakt, dus de functie "length" kan er ook op worden toegepast, en de volgende bewerking zal hetzelfde resultaat opleveren:

Var c = a.lengte;

Onthoud dat je voor elke string "lengte" kunt gebruiken; het is een ingebouwde functie. Dat kan bereken de lengte van een willekeurige string, bijvoorbeeld: "location.href" of "document.title" of door u aangegeven.

Hieronder zal ik een lijst met veelgebruikte ingebouwde methoden en eigenschappen presenteren.

Tekenreeksen en cijfers

Bij sommige programmeertalen moet je opgeven of een variabele een getal of een string is voordat je er iets anders mee doet. JavaScript is eenvoudiger over het verschil tussen tekenreeksen en getallen. Je kunt zelfs getallen met tekenreeksen toevoegen:

Var c = a + 12;

In sommige programmeertalen zal het verwerken van zo'n string resulteren in een fout. ‘a’ is immers een tekenreeks en ‘12’ is een getal. JavaScript probeert het probleem echter op te lossen door aan te nemen dat "12" ook een string is. Zo wordt "c" "Hallo wereld! 12". Dit betekent dat als u "+" gebruikt met een string en een getal, JavaScript probeert van het getal een string te maken. Als je gebruikt wiskundige bewerkingen aan een string probeert JavaScript er een getal van te maken. Als het niet mogelijk is om een ​​tekenreeks naar een getal te converteren (bijvoorbeeld vanwege de aanwezigheid van letters erin), retourneert JavaScript NaN - "Geen getal - is geen getal."

Ten slotte is er in JavaScript geen verschil tussen gehele getallen en getallen met drijvende komma.

Nummer → tekenreeks

Voor conversie van nummer naar string binnenkomen:

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

Je kunt dan alle stringmethoden toepassen op "d" en "c" bevat nog steeds een getal.

Tekenreeks → nummer

Als je een string naar een getal wilt converteren, zorg er dan eerst voor dat deze alleen uit de tekens 0-9 bestaat. Om dit te doen, vermenigvuldig ik eenvoudigweg de string met 1.

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

Omdat vermenigvuldigen alleen met getallen werkt, verandert JavaScript de tekenreeks indien mogelijk in een getal. Anders is het resultaat NaN.

Houd er rekening mee dat als u schrijft:

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

Het resultaat is "12340", omdat JavaScript "+" gebruikt om tekenreeksen samen te voegen in plaats van ze toe te voegen.

Tekenreekseigenschappen en -methoden

Dus wat kunnen we doen met snaren? Aaneenschakeling is een speciaal geval, maar alle andere opdrachten (methoden) kunnen op elke tekenreeks worden gebruikt met behulp van de constructie:

String_name.methode();

Lijst met ingebouwde JavaScript-methoden voor het werken met tekenreeksen

Concatenatie - het samenvoegen van strings

Ten eerste kunt u tekenreeksen samenvoegen door ze als volgt bij elkaar op te tellen:

Document.schrijven(a + b);

het resultaat zal zijn: "Hallo wereld! Ik ben een student." " Maar je wilt natuurlijk dat er ruimte tussen de zinnen zit. Om dit te doen, schrijven we de code als volgt:

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

We zullen dus drie strings verbinden: “a”, “””” (één spatie) en “b”, resulterend in: “Hallo wereld!” Ik ben student. »

U kunt zelfs getallen of berekeningen gebruiken, bijvoorbeeld:

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

Nu voegen we de string “a” samen, en vervolgens het resultaat van de uitdrukking “3 * 3”, beschouwd als een string, en “b”, waardoor we krijgen: “Hallo wereld! 9 Ik ben een student. »

U moet voorzichtig zijn bij het gebruik van toevoegingen. Team

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

verbindt 4 strings: "a", "3", "3" en "b" omdat "+" in in dit geval betekent “samenvoegen van lijnen”, niet “toevoegen” en het resultaat is: “Hallo wereld!33 Ik ben een student. " Als u 3 en 3 wilt optellen voordat u een tekenreeks maakt, gebruikt u haakjes.

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

Deze uitdrukking verbindt de string “a”, het resultaat van de uitdrukking “3 + 3” en “b”, resulterend in: “Hallo wereld!6 Ik ben een student. "

indexVan

Een van de meest gebruikte ingebouwde methoden is "indexOf". Elk teken heeft zijn eigen index die het nummer van zijn positie in de regel bevat. Merk op dat de index van het eerste teken 0 is, de tweede 1, enz. De index van het teken “w” in de string “a” is dus 6.

Met behulp van "indexOf" kunnen we de index van een teken uitvoeren. Schrijf ".indexOf(" ")" achter de regelnaam en plaats het teken dat u zoekt tussen de aanhalingstekens. Bijvoorbeeld:

Var a = "Hallo wereld!"; document.write(a.indexOf("w"));

zal terugkeren 6. Als een teken meerdere keren voorkomt, retourneert deze methode de eerste keer dat het voorkomt. Dat is

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

zal 4 retourneren omdat dit de index is van de eerste "o" in de string.

U kunt ook zoeken op een combinatie van symbolen. (Dit is natuurlijk ook een string, maar om verwarring te voorkomen zal ik het niet zo noemen). "indexOf" retourneert de positie van het eerste teken van de combinatie. Bijvoorbeeld:

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

zal ook 4 retourneren omdat dit de index van "o" is.

Bovendien is het mogelijk om na een bepaalde index naar een teken te zoeken. Als je binnenkomt

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

dan krijg je de index van de eerste “o” na het teken met index 5 (dit is een spatie), dat wil zeggen dat het resultaat 7 is.

Als het teken of de combinatie niet voorkomt in de string, zal "indexOf" "-1" retourneren. Dit is in wezen het meest populaire gebruik van "indexOf": controleren op bestaan bepaalde combinatie karakters. Het is de kern van het script dat de browser definieert. Om IE te definiëren, neemt u de volgende regel:

Navigator.userAgent;

en controleer of het "MSIE" bevat:

If(navigator.userAgent.indexOf("MSIE") != -1) ( //Alle acties met Internet Explorer)

Als de index van "MSIE" niet "-1" is (als "MSIE" ergens in de regel voorkomt), dan is de huidige browser IE.

laatsteIndexOf

Er is ook een "lastIndexOf"-methode die de laatste keer dat een teken of combinatie voorkomt, retourneert. Het doet het tegenovergestelde van "indexOf". Team

Var b = "Ik ben een student."; document.write(b.lastIndexOf("t"));

zal 13 retourneren omdat dit de index is van de laatste "t" in de string.

tekenAt

De "charAt"-methode retourneert het teken op de opgegeven positie. Bijvoorbeeld als je binnenkomt

Var b = "Ik ben een student."; document.write(b.charAt(5));

het resultaat is "a", aangezien dit het teken op de zesde positie is (onthoud dat de index van het eerste teken begint bij 0).

lengte

De "length"-methode retourneert de lengte van de string.

Var b = "Ik ben een student."; document.write(b.lengte);

zal "15" retourneren. De lengte van de string is 1 groter dan de index van het laatste teken.

gesplitst

"splitsen" is speciale methode, waarmee u een tekenreeks op bepaalde tekens kunt splitsen. Wordt gebruikt wanneer het resultaat in een array moet worden opgeslagen in plaats van in een eenvoudige variabele. Laten we "b" splitsen door spaties:

Var b = "Ik ben een student." var temp = nieuwe Array(); temp = b.split(" ");

Nu wordt de string opgesplitst in 4 substrings, die in de array "temp" worden geplaatst. De ruimtes zelf zijn verdwenen.

Temp = "Ik"; temperatuur = "ben"; temperatuur = "een"; uitzendkracht = "student";

De "substring"-methode wordt gebruikt om een ​​deel van een string af te trekken. Methodesyntaxis: ".substring(eerste_index, laatste_index)". Bijvoorbeeld:

Var a = "Hallo wereld!"; document.write(a.substring(4, 8));

retourneert "o wo", van de eerste "o" (index 4) tot de tweede (index 7). Merk op dat "r" (index 8) geen deel uitmaakt van de subtekenreeks.

Je kunt ook schrijven:

Var a = "Hallo wereld!"; document.write(a.substring(4));

Dit geeft de hele subtekenreeks "o wereld! ", beginnend bij het teken met index 4 tot het einde van de regel.

onderstr

Er is ook een "substr" -methode die een beetje anders werkt. Het gebruikt niet het indexnummer als tweede argument, maar het aantal tekens. Dat is

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

retourneert 8 tekens, beginnend bij het teken op index 4 (“o”), dat wil zeggen, het resultaat is: “ o wereld! »

naar kleine letters en naar hoofdletters

Tenslotte nog 2 methodes die soms handig voor je kunnen zijn: “toLowerCase” converteert de gehele string naar kleine letters, en “toUpperCase” converteert deze naar hoofdletters.

Var b = "Ik ben een student."; document.write(b.toUpperCase());

Als resultaat krijgen we: “IK BEN EEN STUDENT. "