La stringa Python supporta l’uso dello slicing per creare una sottostringa. Si noti che la stringa in Python è immutabile, quindi lo slicing crea una nuova sottostringa dalla stringa originale e la stringa originale rimane invariata.
La stringa slice Python
La sintassi per lo slicing di una stringa in Python è la seguente:
str_object[start_pos:end_pos:step]
Lo slicing inizia dall’indice start_pos (incluso) e termina all’indice end_pos (escluso). Il parametro step viene utilizzato per specificare i passi da effettuare dall’indice di inizio all’indice di fine. Lo slicing della stringa in Python segue sempre questa regola: s[:i] + s[i:] == s per qualsiasi indice ‘i’. Tutti questi parametri sono opzionali: il valore predefinito di start_pos è 0, il valore predefinito di end_pos è la lunghezza della stringa e il valore predefinito di step è 1. Vediamo alcuni semplici esempi di utilizzo della funzione di slicing per creare una sottostringa.
s = 'HelloWorld'
print(s[:])
print(s[::])
Output:
HelloWorld
HelloWorld
Si noti che poiché nessuno dei parametri di slicing è stato fornito, la sottostringa è uguale alla stringa originale. Vediamo alcuni altri esempi di slicing di una stringa.
s = 'HelloWorld'
first_five_chars = s[:5]
print(first_five_chars)
third_to_fifth_chars = s[2:5]
print(third_to_fifth_chars)
Output:
Hello
llo
Si noti che il valore dell’indice parte da 0, quindi start_pos 2 si riferisce al terzo carattere nella stringa.
Invertire una stringa usando lo slicing
Possiamo invertire una stringa utilizzando lo slicing impostando il valore del parametro step a -1.
s = 'HelloWorld'
reverse_str = s[::-1]
print(reverse_str)
Output: dlroWolleH
Vediamo alcuni altri esempi di utilizzo di passaggi e valori di indice negativi.
s1 = s[2:8:2]
print(s1)
Output: loo
Qui la sottostringa contiene caratteri dagli indici 2, 4 e 6.
s1 = s[8:1:-1]
print(s1)
Output: lroWoll
Qui i valori dell’indice vengono presi dalla fine all’inizio. La sottostringa è composta dagli indici 1 a 7 dalla fine all’inizio.
s1 = s[8:1:-2]
print(s1)
Output: lool
La suddivisione di Python funziona anche con indici negativi, in tal caso, la posizione di inizio viene esclusa e la posizione di fine è inclusa nella sottostringa.
s1 = s[-4:-2]
print(s1)
Output: or
Il taglio di stringa di Python gestisce elegantemente gli indici fuori range.
>>>s = 'Python'
>>>s[100:]
''
>>>s[2:50]
'thon'
Ecco tutto per la funzione di taglio di stringa di Python per creare una sottostringa.
Puoi controllare lo script Python completo e altri esempi di Python dal nostro Repository di GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-slice-string