Ricerca di stringhe JavaScript
- Pagina precedente Metodi di stringa JS
- Pagina successiva Template di stringa JS
Metodo JavaScript utilizzato per cercare una stringa:
- String.indexOf()
- String.lastIndexOf()
- String.startsWith()
- String.endsWith()
String.indexOf()
indexOf()
Il metodo restituisce il testo specificato nella stringaPrima voltaIndice di posizione (del) apparso:
Esempio
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate") // restituisce 7
JavaScript parte da zero per contare le posizioni.
0 è la prima posizione nella stringa, 1 è la seconda, 2 è la terza ......
String.lastIndexOf()
lastIndexOf()
Il metodo restituisce l'indice dell'ultima occorrenza del testo specificato nella stringa:
Esempio
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate") // Restituisce 21
Se non viene trovato il testo:indexOf()
E lastIndexOf()
Restituiscono entrambi -1:
Esempio
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("Bill") // Restituisce -1
Questi due metodi accettano il secondo parametro come posizione di partenza della ricerca:
Esempio
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate", 15) // Restituisce 21
lastIndexOf()
Il metodo ricerca in avanti (da fine a inizio), il che significa: se il secondo parametro è 15
Se specificato, la ricerca inizia dalla posizione 15 e continua fino all'inizio della stringa.
Esempio
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate", 15) // Restituisce 7
String.search()
search()
Il metodo cerca un valore specifico nella stringa e restituisce la posizione del match:
Esempio
let str = "Please locate where 'locate' occurs!"; str.search("locate") // Restituisce 7
Hai notato?
indexOf()
E search()
Questi due metodi, sono uguali?
Accettano gli stessi parametri e restituiscono gli stessi valori?
Questi due metodi non sono uguali. Le differenze sono le seguenti:
search()
Il metodo non può accettare un secondo parametro di posizione di partenza.indexOf()
Il metodo non può utilizzare valori di ricerca potenti (espressioni regolari).
Imparerai di più sugli espressioni regolari nei capitoli successivi.
String.match()
Il metodo match() cerca corrispondenze nella stringa in base all'espressione regolare e restituisce un oggetto Array con le corrispondenze.
Esempio 1
Cerca "ain" nella stringa:
let text = "La pioggia in SPAGNA rimane principalmente nella pianura"; text.match(/ain/g) // Restituisce l'array [ain,ain,ain]
Impara di più sugli espressioni regolari nel capitolo JS RegExp.
Se l'espressione regolare non contiene il modificador g (ricerca globale), il metodo match() restituirà solo la prima corrispondenza nella stringa.
Sintassi
string.match(regexp)
regexp | Obbligatorio. Il valore da cercare, espressione regolare. |
Restituzione: | Array, contenente gli elementi corrispondenti, ciascuno degli elementi corrisponde a un progetto, se non vengono trovati elementi corrispondenti, allora è null. |
Esempio 2
Esegui una ricerca globale non case-sensitive per "ain":
let text = "La pioggia in SPAGNA rimane principalmente nella pianura"; text.match(/ain/gi) // Restituisce l'array [ain, AIN, ain, ain]}
String.includes()
Se la stringa contiene il valore specificato,includes()
Il metodo restituisce true.
Esempio
let text = "Hello world, welcome to the universe."; text.includes("world") // Restituisce true
Supporto del browser
Internet Explorer non supporta String.includes().
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 40 | Safari 9 | Opera 28 |
Marzo 2015 | Luglio 2015 | Agosto 2015 | Ottobre 2015 | Marzo 2015 |
Sintassi
string.includes(searchvalue, start)
searchvalue | Obbligatorio. Stringa da cercare. |
start | Opzionale. Predefinito a 0. Posizione di inizio della ricerca. |
Restituzione: | Se la stringa contiene il valore, allora restituisce true altrimenti restituisce false . |
Versione di JS: | ES6 (2015) |
Controlla se la stringa contiene "world", dalla posizione 12 inizialmente la ricerca:
let text = "Hello world, welcome to the universe."; text.includes("world", 12) // Restituisce false
String.startsWith()
Se la stringa inizia con il valore specificato, allora startsWith()
Il metodo restituisce true
altrimenti restituisce false
:
Esempio
let text = "Hello world, welcome to the universe."; text.startsWith("Hello") // Restituisce true
Sintassi
string.startsWith(searchvalue, start)
Valore del parametro
Parametro | Descrizione |
---|---|
searchvalue | Obbligatorio. Valore da cercare. |
start | Opzionale. Predefinito a 0. Posizione di inizio della ricerca. |
Esempio
let text = "Hello world, welcome to the universe."; text.startsWith("world") // Restituisce false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 5) // Restituisce false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 6) // Restituisce true
Nota:startsWith()
Il metodo distingue tra maiuscole e minuscole.
Internet Explorer non supporta startsWith()
Metodo.
La prima versione del browser completamente supportata è:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 17 | Safari 9 | Opera 28 |
Marzo 2015 | Luglio 2015 | Agosto 2015 | Ottobre 2015 | Marzo 2015 |
String.endsWith()
Se la stringa termina con il valore specificato, allora endsWith()
Il metodo restituisce true
altrimenti restituisce false
:
Esempio
Controlla se la stringa termina con "Gates":
var text = "Bill Gates"; text.endsWith("Gates") // Restituisce true
Sintassi
string.endsWith(searchvalue, length)
Valore del parametro
Parametro | Descrizione |
---|---|
searchvalue | Obbligatorio. Valore da cercare. |
length | Opzionale. La lunghezza da cercare. |
Ricerca della stringa che termina con "world" nei primi 11 caratteri:
let text = "Hello world, welcome to the universe."; text.endsWith("world", 11) // Restituisce true
Nota:endsWith()
Il metodo distingue tra maiuscole e minuscole.
Internet Explorer non supporta endsWith()
Metodo.
La prima versione del browser che supporta completamente questo metodo è:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
Maggio 2016 | Aprile 2017 | Giugno 2017 | Settembre 2016 | Giugno 2016 |
Manuale di riferimento completo delle stringhe
Per una参考完整性, visita la nostra Manuale di riferimento Stringa JavaScript.
Questo manuale contiene una descrizione e un esempio di tutte le proprietà e i metodi delle stringhe.
- Pagina precedente Metodi di stringa JS
- Pagina successiva Template di stringa JS