JavaScript String Methoden
- Vorige pagina JS-tekensnaak
- Volgende pagina JS-tekensnaakzoek
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;
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");
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");
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");
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);
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);
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");
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
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
Als de tweede parameter wordt overgeslagen, zal deze methode het resterende deel van de string knippen:
Voorbeeld
var res = str.slice(7);
Of tel van het einde af:
Voorbeeld
var res = str.slice(-13);
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
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
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);
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);
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");
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");
Standaard:replace()
is hoofdlettergevoelig. Daarom wordt niet overeenkomend MICROSOFT vervangen:
Voorbeeld
str = "Bezoek Microsoft!"; var n = str.replace("MICROSOFT", "W3School");
Om een hoofdlettergevoelige vervanging uit te voeren, gebruik dan de reguliere expressie /i
ongeveer (hoofdlettergevoelig):
Voorbeeld
str = "Bezoek Microsoft!"; var n = str.replace(/MICROSOFT/i, "W3School");
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");
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
Door toLowerCase()
Maak een string klein:
Voorbeeld
var text1 = "Hello World!"; // string var text2 = text1.toLowerCase(); // text2 is de omgekeerde kleine letter van text1
concat() methode
concat()
Verbind twee of meer strings:
Voorbeeld
var text1 = "Hello"; var text2 = "World"; text3 = text1.concat(" ",text2);
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.
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, ''));
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());
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
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
Eigenschapsacces (Property Access)
ECMAScript 5 (2009) staat toe om eigenschapsacces voor strings toe te staan [ ]:
Voorbeeld
var str = "HELLO WORLD"; str[0]; // Retourne H
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:
[ ]
Retourneerundefined
encharAt()
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
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
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
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.
- Vorige pagina JS-tekensnaak
- Volgende pagina JS-tekensnaakzoek