Come creare ed elaborare sottostringhe in Python

Nel linguaggio di programmazione Python sono previsti diversi modi per creare sottostringhe o verificarne la presenza all’interno di una stringa.

Cos’è una sottostringa?

Sostanzialmente una stringa non è nient’altro che una parte di una stringa Python. Si tratta di sequenze di caratteri di qualsiasi grandezza. Se vi interessa solo una parte di una stringa e la estraete, ottenete una sottostringa. Un esempio semplice è la stringa “Hello World!”, che può essere divisa nelle due sottostringhe “Hello” e “World!”. Tenete presente che le sottostringhe non sono necessariamente singole parole. Anche ogni lettera e ogni carattere di una stringa, considerati da soli, costituiscono una sottostringa.

Consiglio

Se siete interessati alla programmazione in Python per via di un progetto web, vale la pena di dare uno sguardo a Deploy Now di IONOS. Grazie a un flusso di lavoro automatizzato di GitHub, potete distribuire e compilare i vostri progetti web molto facilmente.

Creare una sottostringa Python

Slicing

La funzionalità di Python sicuramente più nota per creare una sottostringa è lo slicing (dall’inglese: “affettare”), che in base agli indici vi permette di determinare dove la vostra sottostringa deve iniziare e dove deve finire. Passate gli indici tra parentesi quadre, separati da due punti. L’indice di inizio è inclusivo, ma quello di fine è esclusivo. La sintassi dello slicing in Python si presenta dunque come segue:

string[start:end]
python

Un esempio concreto di codice aiuta a comprendere lo slicing:

s = "Python è un linguaggio amato."
risultato = s[0:6]
python

Innanzitutto si crea una stringa chiamata “s”. Nella seconda riga dell’esempio di codice vedete lo slicing. Dopo il nome della stringa si indica tra parentesi quadre prima l’indice di inizio 0, seguito da due punti, poi l’indice di fine 6. Ne consegue che nella variabile chiamata “risultato” viene salvata la sottostringa di “s”, che è costituita dai caratteri dalla posizione zero alla cinque (inclusa). Nel nostro caso, la variabile “risultato” conteneva la parola “Python”.

Se volete “affettare” una stringa a partire dall’inizio o fino alla fine, potete accorciare ulteriormente il codice: se non specificate un indice di inizio, per impostazione predefinita viene semplicemente selezionato l’indice 0. Se invece omettete l’indice di fine, con lo slicing create una sottostringa Python che arriva fino alla fine della stringa originaria.

Anche se volete iniziare a estrarre sottostringhe dalla vostra stringa Python originale dalla fine, potete usare una forma abbreviata con indici negativi:

s = "Python è un linguaggio amato."
risultato = s[-6:]
python

Nell’esempio di codice sopra, la variabile chiamata “risultato” contiene gli ultimi 6 caratteri della stringa originale “s”. Nella variabile “risultato” vi è quindi la stringa “amato.”.

Metodi per le stringhe

Oltre allo slicing, in Python sono previsti svariati metodi per le stringhe predefiniti a cui potete ricorrere per estrarre una sottostringa da una stringa.

La funzione slice

Come già si intuisce dal nome, la funzione slice è equivalente allo slicing in Python. Anche la sua sintassi ricorda fortemente quella dello slicing che abbiamo appena visto. Riceve un indice di inizio e di fine e restituisce la relativa sottostringa:

string.slice(start, end)
python

La funzione substring

Anche il metodo substring è perfetto per estrarre sottostringhe in Python. Sintatticamente appare simile alla funzione slice. Anche il comportamento è equivalente:

string.substring(start, end)
python

La funzione split

Se non siete interessati o interessate soltanto a una, ma a più sottostringhe, considerate lo split in Python. Questa funzione vi permette di suddividere una stringa, in base al separatore passato, in una lista Python di sottostringhe. La sintassi non è complicata:

string.split(separatore)
python

Per illustrare come agisce esattamente la funzione split, ricorriamo di nuovo a un breve esempio di codice:

s = "Python è un linguaggio amato."
risultato = s.split(" ")
python

Chiamando la funzione split in Python si riceve come argomento il separatore, nel nostro caso uno spazio. Nella variabile “risultato” è ora salvata una lista di tutte le sottostringhe Python che nella stringa originaria erano separate da uno spazio: “[‘Python’, ‘è’, ‘un’, ‘linguaggio’, ‘amato.’]”

Sottostringhe come risultato delle espressioni regolari

Potete inoltre salvare sottostringhe Python in una lista utilizzando prima un’espressione regolare su una stringa e poi la funzione findall della libreria “re”. Le espressioni regolari in Python sono un formato per l’elaborazione delle stringhe che trova determinati modelli all’interno delle stringhe. La funzione findall riceve come primo parametro di trasferimento un’espressione regolare e come secondo parametro una stringa. Un esempio di codice aiuta a comprendere la procedura:

import re
s = "Python è un linguaggio amato."
risultato = re.findall(r"\w+", s)
python

Nella prima riga di codice viene importata la libreria “re”, per poi dare accesso alla funzione findall. Successivamente viene passata all’espressione regolare “r”\w+““ e alla stringa già nota nella variabile chiamata “s”. A prima vista l’espressione regolare può sembrare un po’ strana, ma non indica nient’altro che da una stringa devono essere estratte tutte le parole. Non sorprende quindi che nella variabile chiamata “risultato” si trovi di nuovo una lista di sottostringhe Python: “[‘Python’, ‘è’, ‘un’, ‘linguaggio’, ‘amato’]”.

Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.