JavaScript merkkijono hakeminen
- Edellinen sivu JS-merkkijonometodit
- Seuraava sivu JS-merkkijonotemplaatit
JavaScriptin merkkijonon hakumetodi:
- String.indexOf()
- String.lastIndexOf()
- String.startsWith()
- String.endsWith()
String.indexOf()
indexOf()
Metodi palauttaa määritetyn tekstin sijainnin merkkijonossaEnsimmäinenIlmenemisen (sijainnin) indeksi:
Esimerkki
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate") // palauttaa 7
JavaScript laskee sijainnit alusta.
0 on merkkijonon ensimmäinen sijainti, 1 on toinen, 2 on kolmas ...
String.lastIndexOf()
lastIndexOf()
Metodi palauttaa määritetyn tekstin merkkijonosta viimeisen sijainnin:
Esimerkki
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate") // Palauttaa 21
Jos tekstiä ei löydyindexOf()
ja lastIndexOf()
Palauttaa molemmat -1:
Esimerkki
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("Bill") // Palauttaa -1
Nämä kaksi menetelmää hyväksyvät toisen parametrin hakun alkamispaikkana:
Esimerkki
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate", 15) // Palauttaa 21
lastIndexOf()
Metodi etsii eteenpäin (alkaen lopusta alkaen), mikä tarkoittaa, että jos toinen parametri on 15
Jos toinen parametri on
Esimerkki
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate", 15) // Palauttaa 7
String.search()
search()
Metodi etsii määritetyn arvon merkkijonosta ja palauttaa sijainnin:
Esimerkki
let str = "Please locate where 'locate' occurs!"; str.search("locate") // Palauttaa 7
Huomasitko sen?
indexOf()
ja search()
Nämä kaksi menetelmää, ovatko ne yhtä suuria?
Ne hyväksyvät samat parametrit ja palauttavat samat arvot?
Nämä kaksi menetelmää eivät ole yhtä suuria. Eroja ovat seuraavat:
search()
Metodi ei voi hyväksyä toista alkamispaikkamääräystä.indexOf()
Metodi ei voi käyttää voimakkaita hakuarvoja (säännöllinen lauseke).
Opit lisää säännöllisistä lausekkeista myöhemmin olevissa luvuissa.
String.match()
match()-metodi etsii merkkijonosta vastaavat kohdat säännöllisen lausekkeen perusteella ja palauttaa ne Array-objektina.
Esimerkki 1
Etsi "ain" merkkijonosta:
let text = "Sateet SPANIASSA pysyvät pääasiassa tasangolla"; text.match(/ain/g) // Palauttaa taulukon [ain,ain,ain]
Opit lisää säännöllisistä lausekkeista JS RegExp-luvusta.
Jos säännöllinen lauseke ei sisällä g-muuttujaa (globaalinen haku), match()-metodi palauttaa vain ensimmäisen löydöksen merkkijonosta.
Syntaksi
string.match(regexp)
regexp | Välttämätön. Haettava arvo, joka on säännöllinen lauseke. |
Palautus: | Taulukko, joka sisältää vastaavat kohdat, jokaiselle kohdalle yksi taulukon alkio, jos vastausta ei löydy, arvo on null. |
Esimerkki 2
Suorita "ain"-merkin haku yhdessä kirjainkoon katsomatta globaalisti:
let text = "Sateet SPANIASSA pysyvät pääasiassa tasangolla"; text.match(/ain/gi) // Palauttaa taulukon [ain, AIN, ain, ain]}
String.includes()
Jos merkkijono sisältää määritetyn arvon,includes()
Metodi palauttaa true.
Esimerkki
let text = "Hello world, welcome to the universe."; text.includes("world") // Palauttaa true
Selaimen tuki
Internet Explorer ei tue String.includes().
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 40 | Safari 9 | Opera 28 |
2015 vuoden 3 kuukausi | 2015 vuoden 7 kuukausi | 2015 vuoden 8 kuukausi | 2015 vuoden 10 kuukausi | 2015 vuoden 3 kuukausi |
Syntaksi
string.includes(searchvalue, start)
searchvalue | Välttämätön. Etsittävä merkkijono. |
start | Valinnainen. Oletusarvo 0. Etsinnän aloituspaikka. |
Palautus: | Jos merkkijono sisältää kyseisen arvon, true ,muuten palauttaa false . |
JS versio: | ES6 (2015) |
Tarkista, sisältääkö merkkijono "world", aloittaen haun paikasta 12:
let text = "Hello world, welcome to the universe."; text.includes("world", 12) // Palauttaa false
String.startsWith()
Jos merkkijono alkaa tiettyyn arvoon, startsWith()
Metodi palauttaa true
,muuten palauttaa false
:
Esimerkki
let text = "Hello world, welcome to the universe."; text.startsWith("Hello") // Palauttaa true
Syntaksi
string.startsWith(searchvalue, start)
Parametarinen arvo
Parametri | Kuvaus |
---|---|
searchvalue | Välttämätön. Etsittävä arvo. |
start | Valinnainen. Oletusarvo 0. Etsinnän aloituspaikka. |
Esimerkki
let text = "Hello world, welcome to the universe."; text.startsWith("world") // Palauttaa false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 5) // Palauttaa false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 6) // Palauttaa true
Huomautus:startsWith()
Menetelmä erottaa ison ja pienen kirjaimen.
Internet Explorer ei tue tätä startsWith()
Menetelmä.
Ensimmäinen täysin tuettu selainversio on:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 17 | Safari 9 | Opera 28 |
2015 vuoden 3 kuukausi | 2015 vuoden 7 kuukausi | 2015 vuoden 8 kuukausi | 2015 vuoden 10 kuukausi | 2015 vuoden 3 kuukausi |
String.endsWith()
Jos merkkijono päättyy tiettyyn arvoon, endsWith()
Metodi palauttaa true
,muuten palauttaa false
:
Esimerkki
Tarkista, onko merkkijono päättymässä "Gates":
var text = "Bill Gates"; text.endsWith("Gates") // Palauttaa true
Syntaksi
string.endsWith(searchvalue, length)
Parametarinen arvo
Parametri | Kuvaus |
---|---|
searchvalue | Välttämätön. Etsittävä arvo. |
length | Valinnainen. Etsittävän merkkijonon pituus. |
Etsi merkkijono, joka päättyy "world":
let text = "Hello world, welcome to the universe."; text.endsWith("world", 11) // Palauttaa true
Huomautus:endsWith()
Menetelmä erottaa ison ja pienen kirjaimen.
Internet Explorer ei tue tätä endsWith()
Menetelmä.
Ensimmäinen selainversio, joka tukee tätä menetelmää, on:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
Kesäkuu 2016 | Helmikuu 2017 | Kesäkuu 2017 | Syyskuu 2016 | Kesäkuu 2016 |
Täydellinen merkkijonoreferenssikirja
Täydellinen viittaus löytyy täältä JavaScript-merkkijonon referenssikirja.
Tämä oppikirja sisältää kaikkien merkkijonon ominaisuuksien ja metodienviittaukset ja esimerkit.
- Edellinen sivu JS-merkkijonometodit
- Seuraava sivu JS-merkkijonotemplaatit