Vyhledávání řetězců JavaScript
Metody vyhledávání JavaScript
- String indexOf()
- Řetězec lastIndexOf()
- Řetězec začínáWith()
- Řetězec končíWith()
JavaScript řetězec indexOf()
Metoda indexOf()
vrací index (pozici) first
výskytu zadaného textu v řetězci:
Příklad
let str = "Please locate where 'locate' occurs!";
str.indexOf("locate");
Poznámka
JavaScript počítá pozice od nuly.
0 je první pozice v řetězci, 1 je druhá, 2 je třetí, ...
JavaScriptový řetězec lastIndexOf()
Metoda lastIndexOf()
vrací index posledního
výskytu zadaného textu v řetězci:
Příklad
let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate");
Oba indexOf()
a lastIndexOf()
vrátí -1, pokud text není nalezen:
Příklad
let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("John");
Obě metody přijímají druhý parametr jako výchozí pozici pro vyhledávání:
Příklad
let str = "Please locate where 'locate' occurs!";
str.indexOf("locate", 15);
Metody lastIndexOf()
prohledávají pozpátku (od konce k začátku), což znamená: pokud je druhý parametr 15
, vyhledávání začíná na pozici 15 a hledá začátek řetězce.
Příklad
let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate", 15);
JavaScript String search()
Metoda search()
hledá v řetězci zadanou hodnotu a vrací pozici shody:
Příklad
let str = "Please locate where 'locate' occurs!";
str.search("locate");
Všiml sis?
Tyto dvě metody indexOf()
a search()
jsou stejné?
Přijímají stejné argumenty (parametry) a vracejí stejnou hodnotu?
Tyto dvě metody NEJSOU stejné. Toto jsou rozdíly:
- Metoda
search()
nemůže převzít druhý argument počáteční pozice. - Metoda
indexOf()
nemůže přebírat silné vyhledávací hodnoty (regulární výrazy).
Více o regulárních výrazech se dozvíte v další kapitole.
JavaScript String match()
Metoda match() hledá v řetězci shodu s regulárním výrazem a vrací shody jako objekt Array.
Příklad 1
Vyhledejte řetězec pro "ain":
let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/g);
Přečtěte si více o regulárních výrazech v kapitole JS RegExp .
Poznámka
Pokud regulární výraz neobsahuje modifikátor g (pro provedení globálního vyhledávání), metoda match() vrátí pouze první shodu v řetězci.
Syntax
string.match(regexp)
regexp | Required. The value to search for, as a regular expression. |
Returns: | An Array, containing the matches, one item for each match, or null if no match is found |
Příklad 2
Proveďte globální vyhledávání „ain“ bez ohledu na velikost písmen:
let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/gi);
Řetězec JavaScript zahrnuje()
Metoda includes()
vrátí hodnotu true, pokud řetězec obsahuje zadanou hodnotu.
Příklad
let text = "Hello world, welcome to the universe.";
text.includes("world");
Syntax
string.includes(searchvalue, start)
searchvalue | Required. The string to search for |
start | Optional. Default 0. Position to start the search |
Returns: | Returns true if the string contains the value, otherwise false |
JS Version: | ES6 (2015) |
Zkontrolujte, zda řetězec obsahuje „svět“, začněte vyhledávání na pozici 12:
let text = "Hello world, welcome to the universe.";
text.includes("world", 12);
Podpora prohlížeče
includes()
je funkce ES6 (JavaScript 2015).
Je podporován ve všech moderních prohlížečích:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
includes()
není podporován v Internet Exploreru.
Řetězec JavaScript začínáS()
Metoda startsWith()
se vrátí true
, pokud řetězec začíná zadanou hodnotou, jinak false
:
Příklad
let text = "Hello world, welcome to the universe.";
text.startsWith("Hello");
Syntax
string.startsWith(searchvalue, start)
Hodnoty parametrů
Parameter | Description |
---|---|
searchvalue | Required. The value to search for. |
start | Optional. Default 0. The position to start the search. |
Příklady
let text = "Hello world, welcome to the universe.";
text.startsWith("world") // Returns false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5) // Returns false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6) // Returns true
Poznámka
Metoda startsWith()
rozlišuje velká a malá písmena.
Podpora prohlížeče
startsWith()
je funkce ES6 (JavaScript 2015).
Je podporován ve všech moderních prohlížečích:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
startsWith()
není podporován v Internet Exploreru.
Řetězec JavaScript končíS()
Metoda endsWith()
se vrátí true
, pokud řetězec končí zadanou hodnotou, jinak false
:
Příklad
Zkontrolujte, zda řetězec končí „Doe“:
var text = "John Doe";
text.endsWith("Doe");
Syntax
string.endswith(searchvalue, length)
Hodnoty parametrů
Parameter | Description |
---|---|
searchvalue | Required. The value to search for. |
length | Optional. The length to search. |
Zkontrolujte 11 prvních znaků řetězce končícího na „world“:
let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11);
Poznámka
Metoda endsWith()
rozlišuje velká a malá písmena.
Podpora prohlížeče
endsWith()
je funkce ES6 (JavaScript 2015).
Je podporován ve všech moderních prohlížečích:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
endsWith()
není podporován v Internet Exploreru.
Kompletní odkaz na řetězec
Úplnou referenci String naleznete na naší stránce:
Kompletní reference JavaScriptového řetězce .
Odkaz obsahuje popisy a příklady všech vlastností a metod řetězců.