Ricerca di stringhe JavaScript

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

Prova tu stesso

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

Prova tu stesso

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

Prova tu stesso

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

Prova tu stesso

lastIndexOf() Il metodo ricerca in avanti (da fine a inizio), il che significa: se il secondo parametro è 15Se 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

Prova tu stesso

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

Prova tu stesso

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]

Prova tu stesso

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]}

Prova tu stesso

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

Prova tu stesso

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 truealtrimenti 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

Prova tu stesso

String.startsWith()

Se la stringa inizia con il valore specificato, allora startsWith() Il metodo restituisce truealtrimenti restituisce false:

Esempio

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // Restituisce true

Prova tu stesso

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

Prova tu stesso

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 truealtrimenti restituisce false:

Esempio

Controlla se la stringa termina con "Gates":

var text = "Bill Gates";
text.endsWith("Gates")    // Restituisce true

Prova tu stesso

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

Prova tu stesso

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.