venerdì 14 luglio 2017

Replace Javascript: come sostituire una parola in una frase

Hai scritto una pagina html ma ti sei accorto di aver commesso un errore di distrazione inserendo il nome di una persona al posto di quello di un altro?
Magari la cosa è ripetuta per molte righe e non sai come rimediare velocemente.

Premesso che questo esempio è decisamente tirato e che forse non è il suo utilizzo più funzionale, quella che però andrò a spiegare in questo post è la replace javascript, ovvero quella funzione che consente di sostituire una o più parole all'interno di una frase.

Vediamo dunque come sostituire una parola dentro un testo, semplicemente utilizzando i poteri conferitici con il sacro javascript.


Come sostituire una parola in una frase usando il replace javascript


Per poter sostituire una parola dentro un testo tramite codice javascript, utilizzare la seguente sintassi:

stringa.replace(paroladasostituire,nuovaparola);

Grazie alla funzione javascript replace infatti, potrai sostituire una parola all'interno di una frase o un testo di qualsiasi lunghezza.
Ti basta infatti mettere il tuo testo dentro una variabile, e utilizzare il sostituisci javascript per cercare e rimpiazzare la parola chiave cercata con un'altra più appropriata.

Ecco un esempio pratico su come sostituire il nome giovanni in tutti i punti in cui viene trovato dentro ad una frase di fantasia:

<script type="text/javascript">
var frase=" ciao giovanni come va? giovanni tutto ok? Giovanni grande!";
parola="giovanni";
nuovaparola="fabio";
alert(frase.replace(parola,nuovaparola));
</script>


Come potrai ben vedere dall'alert a video, questa funzione sostituirà la prima occorrenza trovata della parola giovanni, ma non le successive.

Per sostituire tutte le parole trovate e non solo la prima occorrenza dunque, utilizza questa sintassi:

<script type="text/javascript">
var frase=" ciao giovanni come va? giovanni tutto ok? Giovanni grande!";
parola=/giovanni/g;
nuovaparola="fabio";
alert(frase.replace(parola,nuovaparola));
</script>


Utilizzando infatti la sintassi /paroladasostituire/g, si dirà al browser di sostituire tutte le occorrenze trovate, e non solo la prima.

Un osservatore attento però, avrà notato che c'è ancora un giovanni di troppo, ed è quello scritto con la lettera maiuscola.
Per effettuare un replace javascript case insensitive, ovvero un sostituisci senza tener conto di lettere minuscole e maiuscole, utilizzare questa sintassi:

<script type="text/javascript">
var frase=" ciao giovanni come va? giovanni tutto ok? Giovanni grande!";
parola=/giovanni/gi;
nuovaparola="fabio";
alert(frase.replace(parola,nuovaparola));
</script>


Questa volta infatti, avremo fatto un super replace grazie alla sintassi /paroladasostituire/gi.

Tutto chiaro con la sostituzione delle stringhe col js?
Spero di sì, altrimenti chiedi pure nei commenti :)

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon