Problema
Vuoi sapere se una sottostringa è presente in una data stringa.
Soluzione
Utilizza il metodo .indexOf()
dell'oggetto String
per trovare l'indice a cui si trova la sottostringa, se esiste:
var testo = 'Questa è una frase di esempio';
var daCercare = 'una';
var result = testo.indexOf(daCercare); // 9
if(result != -1) {
// la sottostringa esiste
} else {
// la sottostringa non è stata trovata
}
Discussione
Il metodo .indexOf()
restituisce un numero che rappresenta l'indice ovvero la posizione del primo carattere della sottostringa. Ricordati che il primo carattere della stringa corrisponde al numero zero, quindi nell'esempio la sottostringa inizia dal decimo carattere.
Per verificare se la sottostringa non esiste, basta confrontare il valore restituito con -1, valore che indica il fatto che la sottostringa non è stata trovata.
Il metodo .indexOf()
prende in ingresso due parametri: la sottostringa e un secondo parametro opzionale, l'indice numerico da cui iniziare la ricerca:
var testo = "Ciccio formaggio è nato di maggio"
testo.indexOf('maggio') // 10
testo.indexOf('maggio',11) // 27
Oltre a .indexOf()
, esiste anche il metodo .lastIndexOf()
che ha lo stesso comportamento e firma, ma comincia da destra anziché da sinistra
Nessun commento :
Posta un commento