JavaScript String Methoden

String methoden helpen je om strings te verwerken.

String methoden en eigenschappen

Oorspronkelijke waarden, zoals "Bill Gates", kunnen geen eigenschappen en methoden hebben (want ze zijn geen objecten).

Maar door JavaScript kunnen methoden en eigenschappen ook worden gebruikt op de oorspronkelijke waarde, omdat JavaScript de oorspronkelijke waarde als object behandelt wanneer methoden en eigenschappen worden uitgevoerd.

Lengte van de string

length De eigenschap retourneert de lengte van de string:

Voorbeeld

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

Probeer het zelf

Zoek een string binnen een string

indexOf() De methode retourneert de gespecificeerde tekst in de stringEersteIndex van verschijning (positie):

Voorbeeld

var str = "De volledige naam van China is de Volksrepubliek China.";
var pos = str.indexOf("China");

Probeer het zelf

JavaScript berekent positie vanaf nul.

0 is de eerste positie in de string, 1 is de tweede, 2 is de derde ...

lastIndexOf() De methode retourneert de positie van de gespecificeerde tekst in de stringLaatstIndex van eenmalige verschijning:

Voorbeeld

var str = "De volledige naam van China is de Volksrepubliek China.";
var pos = str.lastIndexOf("China");

Probeer het zelf

als de tekst niet wordt gevonden indexOf() en lastIndexOf() Retourneren allemaal -1.

Voorbeeld

var str = "De volledige naam van China is de Volksrepubliek China.";
var pos = str.indexOf("USA");

Probeer het zelf

Beide methoden accepteren als tweede parameter de positie waarvan de zoekopdracht moet beginnen.

Voorbeeld

var str = "De volledige naam van China is de Volksrepubliek China.";
var pos = str.indexOf("China", 18);

Probeer het zelf

lastIndexOf() De methode zoekt naar voren (van achter naar voren), wat betekent dat: als de tweede parameter 50 is, wordt gezocht van positie 50 tot aan het begin van de string.

Voorbeeld

var str = "De volledige naam van China is de Volksrepubliek China.";
var pos = str.lastIndexOf("China", 50);

Probeer het zelf

Zoek een string binnen een string

search() De methode zoekt naar een specifieke waarde in een string en retourneert de positie van het matchen:

Voorbeeld

var str = "De volledige naam van China is de Volksrepubliek China.";
var pos = str.search("locate");

Probeer het zelf

Heb je dat opgemerkt?

deze twee methoden,indexOf() en search()isGelijkend.

Deze twee methoden zijn niet gelijk. Het verschil zit in:

  • De search() methode kan geen tweede startpositie parameter instellen.
  • De indexOf() methode kan geen krachtigere zoekwaarden instellen (reguliere expressies).

U zultReguliere expressiehoofdstukken te leren over deze krachtigere zoekwaarden.

Extraheren van een deel van de string

Er zijn drie methoden om een deel van de string te extraheren:

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

slice() methode

slice() Extraheren van een deel van de string en retourneren van het geëxtraheerde deel in een nieuwe string.

Deze methode stelt twee parameters in: de startindex (beginpositie), de eindindex (eindpositie).

Dit voorbeeld knipt het fragment van positie 7 tot positie 13 van de string:

Voorbeeld

var str = "Apple, Banana, Mango";
var res = str.slice(7,13);

Het resultaat van res is:

Banana

Probeer het zelf

Als een parameter negatief is, wordt gerekend vanaf het einde van de string.

Dit voorbeeld knipt het fragment van positie -12 tot positie -6 van de string:

Voorbeeld

var str = "Apple, Banana, Mango";
var res = str.slice(-13,-7);

Het resultaat van res is:

Banana

Probeer het zelf

Als de tweede parameter wordt overgeslagen, zal deze methode het resterende deel van de string knippen:

Voorbeeld

var res = str.slice(7);

Probeer het zelf

Of tel van het einde af:

Voorbeeld

var res = str.slice(-13);

Probeer het zelf

Tip:Negatieve posities zijn niet van toepassing op Internet Explorer 8 en oudere versies.

substring() methode

substring() Vergelijkbaar met slice().

Het verschil zit in substring() Negatieve indices worden niet geaccepteerd.

Voorbeeld

var str = "Apple, Banana, Mango";
var res = str.substring(7,13);

Het resultaat van res is:

Banana

Probeer het zelf

Als de tweede parameter wordt overgeslagen, zal deze substring() Knip het resterende deel van de string.

substr() methode

substr() Vergelijkbaar met slice().

Het verschil zit in de definitie van het gedeelte dat wordt geëxtraheerd door de tweede parameter.Lengte.

Voorbeeld

var str = "Apple, Banana, Mango";
var res = str.substr(7,6);

Het resultaat van res is:

Banana

Probeer het zelf

Als de tweede parameter wordt overgeslagen, zal deze substr() het resterende deel van de string knippen.

Voorbeeld

var str = "Apple, Banana, Mango";
var res = str.substr(7);

Probeer het zelf

Het resultaat van res is:

Banana, Mango

Als de eerste parameter negatief is, wordt de positie gerekend vanaf het einde van de string.

Voorbeeld

var str = "Apple, Banana, Mango";
var res = str.substr(-5);

Probeer het zelf

Het resultaat van res is:

Mango

De tweede parameter kan niet negatief zijn, omdat deze de lengte definieert.

Vervang de string-inhoud

replace() De methode vervangt een waarde in een string met een andere waarde die is gespecificeerd:

Voorbeeld

str = "Bezoek Microsoft!";
var n = str.replace("Microsoft", "W3School");

Probeer het zelf

replace() De methode wijzigt de string die het aanroept niet. Het retourneert een nieuwe string.

Standaard:replace() vervangt alleen de eerste overeenkomst:

Voorbeeld

str = "Bezoek Microsoft en Microsoft!";
var n = str.replace("Microsoft", "W3School");

Probeer het zelf

Standaard:replace() is hoofdlettergevoelig. Daarom wordt niet overeenkomend MICROSOFT vervangen:

Voorbeeld

str = "Bezoek Microsoft!";
var n = str.replace("MICROSOFT", "W3School");

Probeer het zelf

Om een hoofdlettergevoelige vervanging uit te voeren, gebruik dan de reguliere expressie /iongeveer (hoofdlettergevoelig):

Voorbeeld

str = "Bezoek Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");

Probeer het zelf

Let op, reguliere expressies bevatten geen aanhalingstekens.

Om alle overeenkomsten te vervangen, gebruik dan de reguliere expressie g onderscheidingstekens (gebruikt voor globale zoekopdrachten):

Voorbeeld

str = "Bezoek Microsoft en Microsoft!";
var n = str.replace(/Microsoft/g, "W3School");

Probeer het zelf

Je zult meer leren over JavaScript reguliere expressies in dit hoofdstukReguliere expressievan de inhoud.

Omzetten naar hoofdletter en kleine letter

Door toUpperCase() Maak een string groot:

Voorbeeld

var text1 = "Hello World!";       // string
var text2 = text1.toUpperCase();  // text2 is de omgekeerde hoofdletter van text1

Probeer het zelf

Door toLowerCase() Maak een string klein:

Voorbeeld

var text1 = "Hello World!";       // string
var text2 = text1.toLowerCase();  // text2 is de omgekeerde kleine letter van text1

Probeer het zelf

concat() methode

concat() Verbind twee of meer strings:

Voorbeeld

var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2);

Probeer het zelf

concat() Methoden kunnen worden gebruikt om de plusoperator te vervangen. De volgende twee regels zijn equivalent:

Voorbeeld

var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ","World!");

Alle stringmethoden retourneren een nieuwe string. Ze wijzigen de oorspronkelijke string niet.

Formeel gezegd: een string is onveranderlijk: een string kan niet worden gewijzigd, alleen vervangen.

String.trim()

trim() De methode verwijdert de spaties aan beide uiteinden van de string:

Voorbeeld

var str = "       Hello World!        ";
alert(str.trim());

Waarschuwing:Internet Explorer 8 of lager ondersteunt niet trim() Methode.

Probeer het zelf

Voor ondersteuning van IE 8, kunt u de reguliere expressie combineren met de methode. replace() Vervangende methode:

Voorbeeld

var str = "       Hello World!        ";
alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));

Probeer het zelf

U kunt ook de replace-sjabloon gebruiken om de trim-functie toe te voegen aan JavaScript String.prototype:

Voorbeeld

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
var str = "       Hello World!        ";
alert(str.trim());

Probeer het zelf

Extraheren van karakters uit een string

Dit zijn twee methoden om karakters van een string te extraheren:VeiligMethode:

  • charAt(positie)
  • charCodeAt(positie)

charAt() methode

charAt() De methode retourneert de string op de gespecificeerde index (positie):

Voorbeeld

var str = "HELLO WORLD";
str.charAt(0);            // Retourneer H

Probeer het zelf

charCodeAt() methode

charCodeAt() De methode retourneert de unicode-encoding van het karakter op de gespecificeerde index in de string:

Voorbeeld

var str = "HELLO WORLD";
str.charCodeAt(0);         // Retourneer 72

Probeer het zelf

Eigenschapsacces (Property Access)

ECMAScript 5 (2009) staat toe om eigenschapsacces voor strings toe te staan [ ]:

Voorbeeld

var str = "HELLO WORLD";
str[0];                   // Retourne H

Probeer het zelf

Het gebruik van eigenschapsacces is een beetje onbetrouwbaar:

  • Niet geschikt voor Internet Explorer 7 of eerder
  • Het maakt de string eruit alsof het een array is (maar het is het niet)
  • Als het geen karakter kan vinden:[ ] Retourneer undefineden charAt() Retourneer een lege string.
  • Het is alleen lezen.str[0] = "A" Geen fout (maar het werkt ook niet!)

Voorbeeld

var str = "HELLO WORLD";
str[0] = "A";             // Geen fout, maar het werkt niet
str[0];                   // Retourne H

Probeer het zelf

Tip:Als u de string wilt behandelen als een array, kunt u hem eerst converteren naar een array.

Converteer de string naar een array

Men kan split() Converteer de string naar een array:

Voorbeeld

var txt = "a,b,c,d,e";   // String
txt.split(",");          // Splits met een komma
txt.split(" ");          // Splits met een spatie
txt.split("|");          // Splits met een verticale streep

Probeer het zelf

Als het scheidingsteken wordt overgeslagen, zal de teruggegeven array de hele string in index [0] bevatten.

Als het scheidingsteken "" wordt overgeslagen, zal de teruggegeven array een array zijn van intervalleerde tekens:

Voorbeeld

var txt = "Hello";       // String
txt.split("\"");           // Splits in tekens

Probeer het zelf

Volledige String-referencehandleiding

Voor een volledige referentiehandleiding, bezoek onze volledige JavaScript String-referencehandleiding.

Dit handboek bevat beschrijvingen en voorbeelden van alle string-eigenschappen en -methoden.