JavaScript strengsøgning

JavaScript-metode til at søge i streng

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

String.indexOf()

indexOf() Metoden returnerer specificeret tekst i strengenFørsteUdseende (positionens) indeks:

Eksempel

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

Prøv det selv

JavaScript starter med nul for positioner.

0 er den første position i en streng, 1 er den anden, 2 er den tredje ...

String.lastIndexOf()

lastIndexOf() Metoden returnerer den sidste forekomst af den specificerede tekst i strengen:

Eksempel

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

Prøv det selv

hvis teksten ikke findes,indexOf() og lastIndexOf() Returnerer begge -1:

Eksempel

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

Prøv det selv

Disse to metoder accepterer den anden parameter som startposition for søgningen:

Eksempel

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

Prøv det selv

lastIndexOf() Metoden søger fremad (fra bunden til toppen), hvilket betyder, at hvis den anden parameter er 15hvis den anden parameter er, vil den søge fra position 15 og op til begyndelsen af strengen.

Eksempel

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

Prøv det selv

String.search()

search() Metoden søger efter en specificeret værdi i en streng og returnerer matchende position:

Eksempel

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

Prøv det selv

Har du bemærket det?

indexOf() og search() Er disse to metoder ens?

De accepterer de samme parametre og returnerer de samme værdier?

Disse to metoder er ikke ens. Fjernelskellerne er som følger:

  • search() Metoden kan ikke acceptere en anden startposition som parameter.
  • indexOf() Metoden kan ikke bruge kraftige søgeværdier (regulære udtryk).

Du vil lære mere om regulære udtryk i de efterfølgende kapitler.

String.match()

match()-metoden søger efter matchende elementer i en streng baseret på en regulær udtryk og returnerer matchende elementer som Array-objekt.

Eksempel 1

Søg efter "ain" i en streng:

text = "Regnen i SPANIA forbliver hovedsageligt i den flade";
text.match(/ain/g)    // Returnerer arrayet [ain,ain,ain]

Prøv det selv

Lær mere om regulære udtryk i kapitlet om JS RegExp.

Hvis den regulære udtryk ikke indeholder g-modifikatoren (udfør global søgning), vil match()-metoden kun returnere det første matchende element i strengen.

Syntaks

string.match(regexp)
regexp Obligatorisk. Den værdi, der skal søges efter, er en regulær udtryk.
Returnerer: En array, der indeholder matchende elementer, hvor hvert element svarer til en post. Hvis der ikke findes nogen matchende elementer, er det null.

Eksempel 2

Udfør en ikke-kasesensitiv global søgning på "ain":

text = "Regnen i SPANIA forbliver hovedsageligt i den flade";
text.match(/ain/gi)   // Returnerer arrayet [ain, AIN, ain, ain]

Prøv det selv

String.includes()

Hvis strengen indeholder den specificerede værdi,includes() Metoden returnerer true.

Eksempel

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

Prøv det selv

Browserunderstøttelse

Internet Explorer understøtter ikke String.includes().

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

Syntaks

string.includes(searchvalue, start)
searchvalue Nødvendig. Den streng, der skal søges efter.
start Valgfri. Standard er 0. Startposition for søgning.
Returnerer: Returnerer, hvis strengen indeholder værdien. true,ellers returnerer false.
JS version: ES6 (2015)

Kontroller om strengen indeholder "world", fra position 12 og fremad:

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

Prøv det selv

String.startsWith()

Hvis strengen starter med den specificerede værdi, så startsWith() Metoden returnerer true,ellers returnerer false:

Eksempel

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

Prøv det selv

Syntaks

string.startsWith(searchvalue, start)

Parameterværdi

Parameter Beskrivelse
searchvalue Nødvendig. Den værdi, der skal søges efter.
start Valgfri. Standard er 0. Startposition for søgning.

Eksempel

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

Prøv det selv

Bemærk:startsWith() metoder skiller mellem store og små bogstaver.

Internet Explorer understøtter ikke startsWith() metode.

Den første fuldt understøttede browserversion er:

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

String.endsWith()

Hvis strengen afslutter med den specificerede værdi, så endsWith() Metoden returnerer true,ellers returnerer false:

Eksempel

Kontroller om strengen afslutter med "Gates":

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

Prøv det selv

Syntaks

string.endsWith(searchvalue, length)

Parameterværdi

Parameter Beskrivelse
searchvalue Nødvendig. Den værdi, der skal søges efter.
length Valgfri. Længden, der skal søges efter.

Søg efter de første 11 tegn i en streng, der slutter med "world":

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

Prøv det selv

Bemærk:endsWith() metoder skiller mellem store og små bogstaver.

Internet Explorer understøtter ikke endsWith() metode.

Den første browserversion, der fuldt ud understøtter denne metode, er:

Chrome IE Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
Maj 2016 April 2017 Juni 2017 September 2016 Juni 2016

Komplette String referencehåndbog

For fuld reference, besøg vores komplette JavaScript String referencehåndbog.

Denne håndbog indeholder beskrivelser og eksempler på alle stringegenskaber og metoder.