Come eliminare l'ultimo carattere di una stringa in javascript
Ti sarà capitato spesso di dover eliminare l'ultimo carattere di una stringa in Javascript.
Ad esempio quando, in un ciclo for, incrementi una variabile aggiungendo al fondo un elemento separatore, ad esempio una virgola, ed alla fine vuoi eliminare l'ultimo elemento separatore.
Esistono diverse soluzioni da adottare, ed oggi ne vedremo due, molto semplici e comode: la prima è l'utilizzo del metodo slice(), la seconda con la funzione substring().
Eliminare l'ultimo carattere di una stringa utilizzando il metodo SLICE
Il metodo slice() viene usato per estrarre una sottostringa da una stringa, e richiede 2 parametri, entrambi numerici
- il primo indica il punto di partenza della sottostringa che vogliamo estrarre
- il secondo indica il numero di caratteri che si desidera rimuovere
Per eliminare solo l'ultimo carattere è sufficiente usare, come secondo parametro, un valore negativo, -1, in questo modo i caratteri verranno eliminati dalla destra, e non dalla sinistra, nella nostra stringa.
Come primo parametro utilizziamo "0" perchè a noi interessa eliminare solo l'ultimo carattere mantenendo tutto il resto.
Ad esempio, se il testo di partenza e "ciao" e vogliamo eliminare l'ultimo carattere dovremo procedere come segue:
var testo = 'ciao'
var nuovotesto = testo.slice(0, -1) //'cia'
Il risultato sarà "cia".
Eliminare l'ultimo carattere di una stringa utilizzando la funzione SUBSTRING
Lo stesso risultato ottenuto con il metodo slice è ottenibile utilizzando la funzione substring di Javascript.
La funzione substring richiede due parametri numerici:
- il primo è il punto di partenza della sottostringa che vogliamo estrarre (come per il metodo slice)
- il secondo è la lunghezza della stringa che vogliamo mantenere (e in questo differisce dal metodo slice)
La lunghezza di una stringa, sappiamo, si ottiene così
str.length
per cui, se vogliamo eliminare il carattere finale alla nostra stringa, la nuova stringa avrà lunghezza
str.length - 1
Vediamo lo stesso esempio visto con il metodo slice, ma utilizzando la funzione substring.
var testo = 'ciao'
var nuovotesto = testo.substring(0, testo.length - 1);