Nota: se sei di fretta e / o stai cercando una risposta breve, scorri fino alla fine della risposta e leggi le ultime due righe. Se non hai fretta, leggi tutto.
vorrei iniziare affermando i fatti:
Sintassi:
string.slice(start,end)
string.substr(start,length)
string.substring(start,end)
Nota n. 1:slice()==substring()
Cosa fa?
Il slice()
metodo estrae parti di una stringa e restituisce le parti estratte in una nuova stringa.
Il substr()
metodo estrae parti di una stringa, iniziando dal carattere nella posizione specificata e restituisce il numero specificato di caratteri.
Il substring()
metodo estrae parti di una stringa e restituisce le parti estratte in una nuova stringa.
Nota 2:slice()==substring()
Cambia la stringa originale?
slice()
Non
substr()
fa
substring()
Non
nota # 3:slice()==substring()
Utilizzo dei numeri negativi come argomento:
slice()
seleziona i caratteri a partire dalla fine della stringa
substr()
seleziona i caratteri a partire dalla fine della stringa
substring()
Non esegue la
nota n. 3:slice()==substr()
se il primo argomento è maggiore del secondo:
slice()
non funziona
substr()
poiché il secondo argomento NON è una posizione, ma un valore di lunghezza, funzionerà come al solito, senza problemi
substring()
scambieranno i due argomenti e funzionerà come al solito
il primo argomento:
slice()
Richiesto, indica: Indice iniziale
substr()
richiesto, indica: Indice iniziale
substring()
richiesto, indica: Indice iniziale
Nota n. 4:slice()==substr()==substring()
il secondo argomento:
slice()
Opzionale, La posizione (fino a, ma non incluso) dove terminare l'estrazione
substr()
Facoltativo, Il numero di caratteri da estrarre
substring()
Opzionale, La posizione (fino a, ma non incluso) dove terminare l'estrazione
Nota # 5:slice()==substring()
E se il secondo argomento fosse omesso?
slice()
seleziona tutti i caratteri dalla posizione iniziale alla fine della stringa
substr()
seleziona tutti i caratteri dalla posizione iniziale alla fine della stringa
substring()
seleziona tutti i caratteri dalla posizione iniziale alla fine della stringa
Nota # 6:slice()==substr()==substring()
quindi, puoi dire che c'è una differenza tra slice()
e substr()
, mentre in substring()
pratica è una copia di slice()
.
in Riepilogo:
se conosci l'indice (la posizione) su cui ti fermerai (ma NON includi), Usa slice()
se conosci la lunghezza dei caratteri da estrarre substr()
.
slice
è quello con il comportamento meno imprevisto.