JavaScript strängsökning

JavaScript-metoder för att söka strängar:

  • String.indexOf()
  • String.lastIndexOf()
  • String.startsWith()
  • String.endsWith()

String.indexOf()

indexOf() Metoden returnerar den specificerade texten i strängenFörsta gångenUppkomsten (positionen) av index:

Exempel

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate")    // returnerar 7

Prova själv

JavaScript räknar från noll.

0 är den första positionen i en sträng, 1 är den andra, 2 är den tredje ...

String.lastIndexOf()

lastIndexOf() Metoden returnerar indexet för den sista förekomsten av det specificerade textvärdet i strängen:

Exempel

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate")    // Returnerar 21

Prova själv

Om texten inte hittas,indexOf() Och lastIndexOf() Och båda returnerar -1:

Exempel

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("Bill")    // Returnerar -1

Prova själv

Dessa två metoder accepterar den andra parametern som startposition för sökningen:

Exempel

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate", 15)    // Returnerar 21

Prova själv

lastIndexOf() Metoden söker bakåt (från slutet till början), vilket innebär att om den andra parametern är 15Om den andra parametern är

Exempel

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate", 15)    // Returnerar 7

Prova själv

String.search()

search() Metoden söker efter en specificerad värde i strängen och returnerar matchande position:

Exempel

let str = "Please locate where 'locate' occurs!";
str.search("locate")     // Returnerar 7

Prova själv

Har du lagt märke till?

indexOf() Och search() Är dessa två metoder lika?

De accepterar samma parametrar och returnerar samma värden?

Dessa två metoder är inte lika. Skillnaderna är följande:

  • search() Metoden kan inte ta emot en andra startposition som parameter.
  • indexOf() Metoden kan inte använda kraftfulla sökvärden (reguljära uttryck).

Du kommer att lära dig mer om reguljära uttryck i kommande kapitel.

String.match()

match()-metoden söker matchande element i strängen baserat på ett reguljärt uttryck och returnerar matchande element som ett Array-objekt.

Exempel 1

Sök "ain" i en sträng:

text = "Regnet i SPANIEN förblir huvudsakligen på slätten";
text.match(/ain/g)    // Returnerar arrayen [ain,ain,ain]

Prova själv

Lär dig mer om reguljära uttryck i kapitlet om JS RegExp.

Om reguljära uttrycket inte innehåller g-modifikatören (utför global sökning), kommer match()-metoden endast att returnera det första matchande elementet i strängen.

Syntax

string.match(regexp)
regexp Obligatorisk. Det värde som behöver sökas, är ett reguljärt uttryck.
Returnerar: En array som innehåller matchande element, där varje matchande element motsvarar ett objekt. Om ingen matchande element hittas, är det null.

Exempel 2

Utför en icke-kapitaliserad global sökning på "ain":

text = "Regnet i SPANIEN förblir huvudsakligen på slätten";
text.match(/ain/gi)   // Returnerar array [ain, AIN, ain, ain]

Prova själv

String.includes()

Om strängen innehåller den specificerade värdet såincludes() Metoden returnerar true.

Exempel

let text = "Hello world, welcome to the universe.";
text.includes("world")    // Returnerar true

Prova själv

Webbläsarstöd

Internet Explorer stöder inte String.includes().

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 40 Safari 9 Opera 28
2015 år 3 månad 2015 år 7 månad 2015 år 8 månad 2015 år 10 månad 2015 år 3 månad

Syntax

string.includes(searchvalue, start)
searchvalue Nödvändigt. Det sträng som behöver sökas.
start Valfritt. Standard är 0. Startposition för sökning.
Returnerar: Om strängen innehåller värdet så returnerar trueAnnars returnerar false.
JS version: ES6 (2015)

Kontrollera om strängen innehåller "world", från position 12 och börja söka:

let text = "Hello world, welcome to the universe.";
text.includes("world", 12)    // Returnerar false

Prova själv

String.startsWith()

Om strängen börjar med den specificerade värdet så startsWith() Metoden returnerar trueAnnars returnerar false:

Exempel

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // Returnerar true

Prova själv

Syntax

string.startsWith(searchvalue, start)

Parametervärde

Parameter Beskrivning
searchvalue Nödvändigt. Det värde som behöver sökas.
start Valfritt. Standard är 0. Startposition för sökning.

Exempel

let text = "Hello world, welcome to the universe.";
text.startsWith("world")    // Returnerar false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)    // Returnerar false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)    // Returnerar true

Prova själv

Kommentar:startsWith() metoder skiljer sig från storleksbokstav.

Internet Explorer stöder inte startsWith() metod.

Den första helt stödda webbläsarversionen är:

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 17 Safari 9 Opera 28
2015 år 3 månad 2015 år 7 månad 2015 år 8 månad 2015 år 10 månad 2015 år 3 månad

String.endsWith()

Om strängen slutar med den specificerade värdet så endsWith() Metoden returnerar trueAnnars returnerar false:

Exempel

Kontrollera om strängen slutar med "Gates":

var text = "Bill Gates";
text.endsWith("Gates")    // Returnerar true

Prova själv

Syntax

string.endsWith(searchvalue, length)

Parametervärde

Parameter Beskrivning
searchvalue Nödvändigt. Det värde som behöver sökas.
length Valfritt. Längden att söka efter.

Sök efter strängen "world" som slutar med de första 11 tecknen:

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11)    // Returnerar true

Prova själv

Kommentar:endsWith() metoder skiljer sig från storleksbokstav.

Internet Explorer stöder inte endsWith() metod.

Den första webbläsarversionen som helt stöder denna metod är:

Chrome IE Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
2016 maj 2017 april 2017 juni 2016 september 2016 juni

Fullständiga strängreferenshandboken

För en fullständig referens, besök vår fullständiga JavaScript-sträng-referenshandbok.

Denna handbok innehåller beskrivningar och exempel på alla strängattribut och metoder.