Comprendre les sous-chaînes en Python avec des exemples
Cet article a pour objectif de vous éclairer sur la manipulation des sous-chaînes en Python.
Vous apprendrez à générer une sous-chaîne, à extraire différentes parties d'une chaîne, et comment les sous-chaînes fonctionnent en Python, tout cela à travers de multiples exemples pratiques. Nous examinerons également comment vérifier la présence d'une sous-chaîne au sein d'une chaîne principale.
Avant de débuter, il est crucial de définir précisément ce que sont une chaîne et une sous-chaîne. Une chaîne est une séquence ordonnée de caractères Unicode, pouvant inclure des caractères alphanumériques ainsi que des symboles. Une sous-chaîne, quant à elle, est une portion de cette séquence de caractères.
Nous aborderons les points suivants :
- La création d'une sous-chaîne.
- Les différentes techniques de découpage d'une sous-chaîne.
- Le comptage des occurrences d'une sous-chaîne.
- La recherche de la présence d'une sous-chaîne dans une chaîne.
C'est parti !
Création d'une sous-chaîne
La création d'une sous-chaîne se fait principalement par la méthode de découpage (slicing). Cette méthode permet d'extraire une portion spécifique de la chaîne en définissant les indices de début, de fin, ainsi que le pas. Ces indices désignent les positions exactes des caractères que l'on souhaite sélectionner.
La syntaxe est la suivante :
string[index_de_début: index_de_fin: pas]
Il est important de noter que l'indexation des caractères dans une chaîne commence à zéro.
Le paramètre index_de_début spécifie l'indice de départ de la sous-chaîne. Si ce paramètre est omis, Python considère que sa valeur est zéro par défaut.
Le paramètre index_de_fin représente le dernier indice de la sous-chaîne (non inclus). Si ce paramètre est absent, le découpage s'étend jusqu'à la fin de la chaîne.
Le paramètre pas indique l'intervalle entre les caractères à sélectionner. Sa valeur par défaut est 1. Si ce paramètre est omis, le pas est considéré comme étant de 1 par défaut.
Méthodes de découpage d'une chaîne
Il existe diverses manières d'extraire une sous-chaîne à partir d'une chaîne. Voici quelques exemples :
#1. Découpage avec les index de début et de fin.
String = string[index_de_début : index_de_fin]
Par exemple, pour extraire le prénom d'une personne à partir de son nom complet :
string = 'Michael Doe' print(string[0:7])
Le résultat sera :
Michael
#2. Découpage avec un index de début, sans index de fin.
String= string[index_de_début:]
Ici, on spécifie uniquement l'indice à partir duquel commencer l'extraction, jusqu'au dernier indice de la chaîne (généralement -1).
Exemple:
string = 'Ceci est un exemple de découpage de chaîne en utilisant l\'index de début sans l\'index de fin' print(string[7:])
Résultat:
est un exemple de découpage de chaîne en utilisant l'index de début sans l'index de fin
#3. Découpage avec un index de fin, sans index de début.
String = string[:index_de_fin]
Dans ce cas, on indique le dernier caractère à inclure dans la sous-chaîne. Le découpage commence par défaut à l'indice zéro de la chaîne.
Exemple:
string = 'Ceci est un exemple de découpage de chaîne en utilisant l\'index de fin sans l\'index de début' print(string[:9])
Résultat:
Ceci est
#4. Découpage de la totalité de la chaîne.
String = string[ : ]
Aucun indice n'est spécifié, donc la chaîne entière est retournée.
Exemple
string = 'Ceci est un exemple de découpage de la chaîne entière' print(string[:])
Résultat:
Ceci est un exemple de découpage de la chaîne entière
#5. Découpage d'un seul caractère.
String = string[index]
L'extraction d'un caractère unique est réalisée à partir de son index précis.
Exemple:
string = 'Ceci est un exemple de découpage d\'un caractère unique d\'une chaîne' print(string[8])
Le caractère 'u' est affiché car son indice est 8.
#6. Découpage avec l'index de début, l'index de fin et le pas.
Exemple
string = 'Ceci est un exemple de découpage de chaîne en utilisant l\'index de début, le pas, et l\'index de fin' print(string[11:24:1])
Quand le pas est de 1, le découpage standard est appliqué et le résultat suivant est obtenu.
exemple de dé
Avec le même exemple, définissons le pas à 2.
string = 'Ceci est un exemple de découpage de chaîne en utilisant l\'index de début, le pas, et l\'index de fin' print(string[11:24:2])
Le découpage s'effectue en avançant de 2 caractères à chaque étape.
eee d
Le découpage extrait chaque deuxième caractère. Par conséquent, l'extraction est de 'eee d'.
#7. Inversion d'une chaîne avec un pas négatif.
Dans cet exemple, la chaîne est affichée à l'envers, du dernier caractère au premier.
string = 'Ceci est un exemple d\'inversion d\'une chaîne en utilisant un pas négatif' print(string[::-1])
Résultat:
vitageén sap nu tneilisut neêhc anu'd noisrevni'd elpmeex nu tse iceC
Le pas négatif fonctionne de cette manière :
I
N
V
E
R
S
E
0
1
2
3
4
5
6
-6
-5
-4
-3
-2
-1
L'indice de début de la chaîne inversée commence à 0 par défaut et se termine à 6. Le pas négatif inverse la valeur de l'index du dernier caractère et l'applique au premier caractère, et continue dans ce sens.
Autres exemples de découpage :
Extraire les quatre premiers caractères d'une sous-chaîne.
string = 'caractères' print(string[0:4])
Résultat :
cara
Recherche de la présence d'une sous-chaîne dans une chaîne
Python utilise soit la méthode `find()` soit l'opérateur `in` pour vérifier la présence d'une sous-chaîne dans une chaîne.
Exemple avec l'opérateur `in` :
string = 'Ceci est un exemple pour démontrer qu\'une sous-chaîne particulière est trouvée dans une chaîne'
if 'trouver' in string:
print('La sous-chaîne est trouvée')
else:
print('La sous-chaîne définie n\'a pas été trouvée')
Résultat :
La sous-chaîne définie n'a pas été trouvée
L'exemple ci-dessus vérifie si la sous-chaîne 'trouver' existe dans la chaîne spécifiée. Comme elle n'y figure pas, le message de sortie l'indique.
En remplaçant 'trouver' par 'démontrer', le résultat serait 'La sous-chaîne est trouvée', car elle est effectivement présente dans la chaîne.
Exemple avec la méthode `find()` :
string = 'utilisation d\'une chaîne pour déterminer si une sous-chaîne est présente'
if string.find('présent') != -1:
print("La sous-chaîne 'présent' existe")
else:
print("La sous-chaîne 'présent' n'existe pas")
Résultat :
<code class="language-python">La sous-chaîne 'présent' n'existe pas
Dans cet exemple, nous avons recherché une sous-chaîne qui n'est pas incluse dans notre chaîne. La méthode `find()` explore toute la chaîne et, ne trouvant pas la sous-chaîne 'présent', retourne le message 'La sous-chaîne \'présent\' n\'existe pas'.
Comptage des occurrences d'une sous-chaîne
Python utilise la méthode `count()` pour compter le nombre d'occurrences d'une sous-chaîne, comme le montre l'exemple ci-dessous.
string = " Compter le nombre d'occurrences de 'e' dans cette chaîne "
print("Le nombre d'occurrences de la sous-chaîne 'e' est : ",string.count('e'));
Résultat :
Le nombre d'occurrences de la sous-chaîne 'e' est : 5
Conclusion
Cet article vous a permis de mieux comprendre ce qu'est une sous-chaîne en Python, comment la créer, et a explicité la méthode de découpage et son utilisation. Avec les exemples fournis, n'hésitez pas à pratiquer davantage pour consolider vos connaissances.
Vous pouvez également apprendre à développer un jeu de devinettes avec Python ou à manipuler des données JSON en Python.
Bon codage !