8.2 Découpage de chaînes
Objectifs d'apprentissage
À la fin de cette section, vous devriez être en mesure de :
- Utiliser l'indexation de chaînes pour accéder aux caractères d'une chaîne.
- Utiliser le découpage de chaînes pour obtenir une sous-chaîne à partir d'une chaîne.
- Identifier les caractéristiques d'immuabilité des chaînes.
Indexation de chaînes
Une chaîne de caractères est un type de séquence. Une chaîne est constituée d'une séquence de caractères indexés de gauche à droite, en commençant à 0. Pour une variable chaîne s, le caractère le plus à gauche a pour indice 0 et le caractère le plus à droite a pour indice len(s) - 1. Ex. : La longueur de la chaîne "Cloud" est 5, son dernier indice est donc 4.
Une indexation négative peut également être utilisée pour faire référence aux caractères de droite à gauche en partant de -1. Pour une variable chaîne s, le caractère le plus à gauche a pour indice -len(s) et le caractère le plus à droite a pour indice -1. Ex. : La longueur de la chaîne "flower" est 6, donc l'indice du premier caractère selon l'indexation négative est -6.
Concepts en pratique
Accéder aux caractères d'une chaîne à l'aide de l'indexation
Découpage de chaînes
Le découpage de chaînes (string slicing) est utilisé lorsqu'un programmeur doit accéder à une séquence de caractères. Pour cela, un opérateur de découpage de chaîne peut être employé. Lorsque [a:b] est utilisé avec le nom d'une variable chaîne, une séquence de caractères commençant à l'indice a (inclus) jusqu'à l'indice b (exclu) est renvoyée. a et b sont tous deux facultatifs. Si a ou b ne sont pas fournis, leurs valeurs par défaut sont respectivement 0 et len(string).
Exemple 8.2
Obtenir les minutes
Considérons une valeur horaire donnée sous la forme "hh:mm", où "hh" représente l'heure et "mm" représente les minutes. Pour extraire uniquement la partie correspondant aux minutes de la chaîne, on peut utiliser le code suivant :
time_string = "13:46"
minutes = time_string[3:5]
print(minutes)
La sortie du code ci-dessus est :
46
Exemple 8.3
Obtenir l'heure
Considérons une valeur horaire donnée sous la forme "hh:mm", où "hh" représente l'heure et "mm" représente les minutes. Pour extraire uniquement la partie correspondant à l'heure de la chaîne, on peut utiliser le code suivant :
time_string = "14:50"
hour = time_string[:2]
print(hour)
La sortie du code ci-dessus est :
14
Concepts en pratique
Obtenir une sous-chaîne à l'aide du découpage de chaînes
Immuabilité des chaînes
Les objets de type chaîne sont immuables (immutable), ce qui signifie qu'ils ne peuvent être ni modifiés ni altérés une fois créés. Une fois qu'un objet chaîne est créé, son contenu ne peut pas être modifié en altérant directement des caractères individuels ou des éléments de la chaîne. À la place, pour apporter des modifications à une chaîne, un nouvel objet chaîne comportant les changements souhaités est créé, laissant la chaîne originale inchangée.
Concepts en pratique
Modifier le contenu d'une chaîne
À vous d'essayer
Modifier le message de salutation
Étant donné la chaîne "Hello my fellow
classmates" contenant un message de salutation, affichez le premier mot en extrayant le début de la chaîne jusqu'au 5e caractère (inclus). Remplacez le premier mot de la chaîne par "Hi" au lieu de "hello" et affichez à nouveau le message de salutation.
À vous d'essayer
Modifier la chaîne à des emplacements spécifiés
Étant donné une variable chaîne, string_variable, et une liste d'indices, supprimez les caractères situés aux indices spécifiés et affichez la chaîne résultante.
Input:
string_variable = "great"
indices = [0, 1]
Prints:
eat