JavaScript strängsökning
- Föregående sida JS-strängmetoder
- Nästa sida JS-strängmönster
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
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
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
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
lastIndexOf()
Metoden söker bakåt (från slutet till början), vilket innebär att om den andra parametern är 15
Om den andra parametern är
Exempel
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate", 15) // Returnerar 7
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
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]
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]
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
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 true Annars 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
String.startsWith()
Om strängen börjar med den specificerade värdet så startsWith()
Metoden returnerar true
Annars returnerar false
:
Exempel
let text = "Hello world, welcome to the universe."; text.startsWith("Hello") // Returnerar true
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
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 true
Annars returnerar false
:
Exempel
Kontrollera om strängen slutar med "Gates":
var text = "Bill Gates"; text.endsWith("Gates") // Returnerar true
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
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.
- Föregående sida JS-strängmetoder
- Nästa sida JS-strängmönster