giovedì 13 luglio 2017

Trovare posizione parola dentro frase (Javascript)

Sempre sul tema funzioni sulle stringhe con javascript, oggi vi parlerò della famosa funzione che consente di individuare la posizione di una parola all'interno di una frase.

I motivi per il quale possa interessare conoscere la posizione numerica di una lettera, una parola o una frase, all'interno di un testo più ampio, possono essere molteplici.
Si va dal replace di uno specifico termine, all'estrapolazione di specifici parti di testo all'interno di una frase.

Vediamo dunque come ottenere questo semplice numero con il js.


Come trovare la posizione di una parola dentro una frase con il Javascript


La sintassi da utilizzare per ottenere il numero esatto corrispondente alla posizione di una stringa all'interno di un testo, è la seguente:

frase.indexOf(parola);

La funzione javascript indexof infatti, restituisce il numero corrispondente a la prima occorrenza della stringa cercata.

Esempio pratico di come trovare la posizione della parola gionni dentro la frase "ciao gionni il bello":

<script type="text/javascript">
var frase="Ciao gionni il bello";
var parola="gionni";
alert(frase.indexOf(parola));
</script>


Attenzione però, indexof è case sensitive, ovvero è sensibile alle minuscole ed alle maiuscole.
Infatti, se si prova questo script:

<script type="text/javascript">
var frase="Ciao gionni il bello";
var parola="Gionni";
alert(frase.indexOf(parola));
</script>


il risultato è -1, che equivale a "parola non trovata".

E se invece volessimo trovare la posizione dell'ultima occorrenza di una parola ripetuta in una frase?
Semplice, basta utilizzare questa sintassi:

<script type="text/javascript">
var frase="Ciao gionni il bello ciao gionni ciao";
var parola="gionni";
alert(frase.lastIndexOf(parola));
</script>


La funzione javascript lastIndexOf infatti, restituisce il numero della posizione dell'ultima parola trovata.
Alternativa molto utile quando si hanno più parole chiave ripetute e si vuole pescare solo l'ultima.

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon