Articolo originale: How to Substring a String in Python di freeCodeCamp.org

Tradotto e adattato da: Ilenia Magoni

Python offre molti modi per ottenere una sottostringa di una stringa. È spesso chiamato "fare a fette" (slice).

Segue il seguente schema:

stringa[inizio:fine:n]

Dove,

inizio: è l'indice iniziale della sotto stringa. Il carattere a questo indice è incluso nella sottostringa. Se inizio non è incluso, viene considerato 0.

fine: è l'indice a cui deve terminare la sottostringa. Il carattere a questo indice NON è incluso nella sottostringa. Se fine non è scritto o il valore specificato eccede la lunghezza della stringa, viene considerato pari alla lunghezza della stringa come default.

n: indica quali caratteri includere nella sottostringa: a partire dal carattere all'indice iniziale, viene incluso solo ogni n-esimo carattere. Il valore di default è 1. Se il valore n è omesso, si considera uguale a 1.

Usi standard

stringa[inizio:fine]: restituisce tutti i caratteri dall'indice inizio all'indice fine-1

stringa[:fine]: restituisce tutti i caratteri dall'inizio della stringa all'indice fine-1

stringa[inizio:]: restituisce tutti i caratteri dall'indice inizio alla fine della stringa

stringa[inizio:fine:n]: restituisce i caratteri da inizio a fine-1 includendo solo ogni n-esimo carattere

Esempi

  1. Ottenere i primi 5 caratteri di una stringa
string = "freeCodeCamp"
print(string[0:5])

Output:

> freeC

Nota: print(string[:5]) restituisce lo stesso risultato di print(string[0:5])

2. Ottienere una sottostringa di lunghezza 4 a partire dal terzo carattere della stringa

string = "freeCodeCamp"
print(string[2:6])

Output:

> eeCo

3. Ottenere l'ultimo carattere della stringa

string = "freeCodeCamp"
print(string[-1])

Output:

> p

Nota che l'indice di inizio o fine potrebbero essere un numero negativo. Un indice negativo significa che si inizia a contare dalla fine della stringa invece che dall'inizio (cioè, da destra a sinistra).

L'indice -1 rappresenta l'ultimo carattere della stringa, -2 rappresenta il penultimo carattere della stringa e così via...

4. Ottenere gli ultimi 5 caratteri di una stringa

string = "freeCodeCamp"
print(string[-5:])

Output:

> eCamp

5. Ottenere una sottostringa che contiene tutti i caratteri tranne gli ultimi 4 e il primo carattere

string = "freeCodeCamp"
print(string[1:-4])

Output:

> reeCode

6. Ottenere ogni secondo carattere di una stringa

string = "freeCodeCamp"
print(string[::2])

Output:

> feCdCm