JavaScript strengsøgning
- Forrige side JS-stringsmetoder
- Næste side JS-stringskabelon
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
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
hvis teksten ikke findes,indexOf()
og lastIndexOf()
Returnerer begge -1:
Eksempel
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("Bill") // Returnerer -1
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
lastIndexOf()
Metoden søger fremad (fra bunden til toppen), hvilket betyder, at hvis den anden parameter er 15
hvis 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
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
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]
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]
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
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
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
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
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
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
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.
- Forrige side JS-stringsmetoder
- Næste side JS-stringskabelon