Articolo originale: Python Substring – How to Slice a String di Davis David

Tradotto e adattato da: Dario Di Cillo

In Python, una stringa è una sequenza di caratteri che può contenere caratteri speciali o alfanumerici.

Un esempio di stringa è "ci vediamo venerdì alle 08:00" ed è possibile avere accesso a delle specifiche sue porzioni comunemente dette sottostringhe.

Possiamo definire una sottostringa come una sequenza di caratteri all'interno di una stringa. Considerando l'esempio precedente, "venerdì", "alle" e "vediamo" sono esempi di sottostringhe.

Come creare una sottostringa in Python

Python offre diversi metodi per generare una sottostringa, valutare la presenza di una specifica sottostringa, ottenerne gli indici e molto altro.

È possibile estrarre una sottostringa da una stringa tramite gli indici che individuano la sua posizione, come ad esempio:

string[start:stop:step]

  • start - L'indice iniziale della sottostringa.
  • stop - L'indice finale della sottostringa.
  • step - Un numero che specifica lo step con cui avviene l'estrazione (il valore di default è 1).
tabslice

Gli indici possono essere positivi, quando la numerazione va dall'inizio della stringa verso la fine, o negativi, se procede nel senso opposto.

In quest'articolo, imparerai come eseguire varie operazioni riguardanti le sottostringhe in Python.

Come ottenere i primi n caratteri di una stringa in Python

L'esempio qui sotto mostra come estrarre i primi 5 caratteri dalla stringa:

string = "hello world"
print(string[:5])

In questo caso, viene definito l'indice di stop (5), mentre quello di partenza è 0 di default.

L'output è 'hello'.

Come ottenere i caratteri centrali di una stringa in Python

Il prossimo esempio mostra come estrarre dalla stessa stringa i caratteri dall'indice 3 all'indice 5 .

string = "hello world"
print(string[3:5])

L'output è 'lo'.

Come ottenere l'ultimo carattere di una stringa in Python

Per ottenere l'ultimo carattere di una stringa è conveniente utilizzare l'indice negativo -1, come nell'semepio qui sotto:

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

In questo caso l'output è 'p'.

Come ottenere gli ultimi n caratteri di una stringa in Python

Nel seguente esempio, sono stati estratti gli ultimi 4 caratteri della stringa utilizzando gli indici negativi per far partire l'operazione dalla fine della stringa:

string = "freecodecamp"
print(string[-4:])

L'output è ‘camp’.

Come estrarre dei caratteri da una stringa con un passo specifico in Python

È possibile estrarre dei caratteri utilizzando un particolare step, diverso da quello di default (1), indicandolo dopo l'indice di partenza e di fine. Utilizzando uno step di 2:

string = "welcome to freecodecamp"
print(string[::2])

L'output è 'wloet fecdcm'.

Come verificare se una sottostringa è presente in una stringa in Python

A volte può essere necessario cercare una specifica sottostringa all'interno di una stringa. Nell'esempio seguente, viene verificata la presenza della sottostringa "code" in una stringa:

substring = "code"
string = "welcome to freecodecamp"
print(substring in string)

Se la stringa è presente (come in questo caso) l'output sarà True, mentre in caso contrario sarà False.

Un altro modo per cercare una sottostringa in una stringa in Python

Puoi utilizzare anche la funzione find() per verificare la presenza di una sottostringa, come nel prossimo esempio:

substring = "zz"
string = "hello world"
print(string.find(substring))

Se la sottostringa è presente, il valore restituito dalla funzione sarà l'indice corrispondente con l'inizio della sottostringa, altrimenti sarà -1 se non è presente.

"zz" non è presente in “hello world”, quindi in questo caso l'output è -1.

Come ottenere il carattere con uno specifico indice in una stringa in Python

Puoi estrarre un carattere specifico da una stringa utilizzando il suo indice, ad esempio:

string ="hello world"
print(string[4])

L'output è 'O'.

Come creare una lista di sottostringhe da una stringa in Python

Puoi utilizzare la funzione split() per creare una lista di sottostringhe:

string = "welcome to freecodecamp platform"
print(string.split())

L'output sarà ['welcome', 'to', 'freecodecamp', 'platform']

Come invertire una stringa in Python utilizzando uno step negativo

Per invertire una stringa, possiamo utilizzare uno step negativo, ad esempio -1:

string = "welcome to freecodecamp"
print(string[::-1])

L'output è ‘pmacedoceerf ot emoclew’.

Come contare quante volte una sottostringa è presente in una stringa in Python

Puoi utilizzare la funzione count() per sapere quante volte una specifica sottostringa si ripete in una stringa:

string = "we will have a quick coding lesson this afternoon"
print(string.count('noon'))

L'output è 1.

Ultime parole

Spero che quest'articolo ti sia stato d'aiuto e che tu abbia imparato qualcosa di nuovo sulle sottostringhe in Python.

Se ti è piaciuto quest'articolo o l'hai trovato utile, condividilo in modo che possa essere letto da altri. Al prossimo post!