Cet article a pour but d’amener l’apprenant à une meilleure compréhension des sous-chaînes en Python.
Il vous apprendra à créer une sous-chaîne, à en extraire différentes parties d’une chaîne et à comprendre comment fonctionnent les sous-chaînes en Python, en utilisant plusieurs exemples pour mettre cela en œuvre. Nous vérifierons également l’existence de la sous-chaîne dans une chaîne.
Avant de commencer, il est essentiel de savoir ce que sont une chaîne et une sous-chaîne. Une chaîne est une séquence de caractères Unicode composée de caractères alphanumériques et/ou de caractères spéciaux. On peut définir une sous-chaîne comme une portion de la séquence de caractères à l’intérieur d’une chaîne.
Nous aborderons les points suivants :
- Création d’une sous-chaîne.
- Méthodes de découpage d’une sous-chaîne.
- Nombre d’occurrences d’une sous-chaîne
- Recherche de la présence d’une sous-chaîne dans une chaîne.
Commençons !
Création d’une sous-chaîne
La création d’une sous-chaîne s’effectue principalement par la technique du découpage. Cette technique permet d’extraire la sous-chaîne en définissant les délimiteurs de l’indice de début, de l’indice de fin et du pas. Ces délimiteurs permettent l’extraction en spécifiant l’indice précis des caractères que vous souhaitez obtenir.
La syntaxe se présente comme suit :
string[begin-index : end-index : step]
Notez que la valeur de l’index dans toute chaîne commence à zéro.
Le paramètre begin-index indique l’indice de départ de la sous-chaîne. Par conséquent, si vous omettez cet élément lors du découpage, Python considère automatiquement que sa valeur d’index est zéro.
End-index est le dernier indice de la sous-chaîne. Si vous ne le mentionnez pas, le découpage suppose que sa valeur est égale à la longueur de la chaîne.
Étape : Il indique le caractère à prendre en compte après le caractère courant. La valeur de ce paramètre est généralement de un. Lorsque le paramètre de pas est omis pendant le découpage, sa valeur est toujours supposée être égale à un.
Méthodes de découpage d’une chaîne de caractères
Il existe plusieurs façons d’obtenir une sous-chaîne à partir d’une chaîne. Ces méthodes sont les suivantes :
#1. Trancher en utilisant l’indice de début et l’indice de fin.
Chaîne = chaîne [début-index : fin-index]
Si vous souhaitez obtenir le prénom d’une personne à partir de son nom complet, vous procéderez de la manière suivante :
string = 'Michael Doe'
print(string[0:7])
Le résultat sera le suivant :
Michael
#2. Trancher en utilisant begin-index sans end-index.
String= string[begin-index :]
Ici, nous indiquons seulement à partir de quel index nous voulons commencer à extraire nos sous-chaînes de caractères des extraits de découpage de la chaîne jusqu’au dernier index de la chaîne entière qui a généralement un index de -1.
Exemple :
string = 'Ceci est pour démontrer le découpage d'une chaîne en utilisant l'indice de début sans l'indice de fin'
print(string[7 :])
Résultat :
pour démontrer le découpage d'une chaîne de caractères en utilisant l'indice de début sans l'indice de fin
#3. Découpage en utilisant l’indice de fin sans l’indice de début.
Chaîne = chaîne[:indice-fin]
Ici, nous indiquons le dernier caractère que la sous-chaîne doit inclure, en omettant l’endroit où elle doit commencer. Par conséquent, le découpage affichera la sous-chaîne à partir du caractère d’index zéro de la chaîne.
Exemple :
string = 'Ceci est une démonstration du découpage d'une chaîne en utilisant l'indice de fin sans l'indice de début'
print(chaîne[:9])
Résultat :
Ceci est t
#4. Trancher la chaîne entière.
Chaîne = chaîne[ : ]
Dans ce cas, nous n’identifions aucun des délimiteurs ; la chaîne entière est donc renvoyée.
Exemple
string = 'Ceci est pour démontrer le découpage de la chaîne entière'
print(string[ :])
Résultat :
Ceci est une démonstration du découpage de la chaîne entière
#5. Découpage d’un seul caractère d’une chaîne.
Chaîne = chaîne[index]
Une valeur d’index précise d’un caractère de la chaîne est découpée ici.
Exemple :
string = 'Ceci est pour démontrer le découpage d'un seul caractère d'une chaîne'
print(string[8])
Le ‘t’ de ‘to’ est imprimé car sa valeur d’index est 8.
#6. Découpage à l’aide de l’indice de début, de l’indice de fin et du pas.
Exemple
string = 'Ceci est pour démontrer le découpage de la chaîne en utilisant le begin-index, le step, et le end-index'
print(string[11:24:1])
Lorsque la valeur du pas est fixée à 1, le découpage normal s’effectue et le résultat suivant est produit ici.
démontrer s
En reprenant le même exemple, fixons la valeur du pas à 2.
string = 'Ceci est pour démontrer le découpage de la chaîne en utilisant l'indice de début, le pas et l'indice de fin'
print(string[11:24:2])
Le découpage des caractères se fera par pas de 2 comme ceci.
dmntaes
Le découpage extrait le deuxième caractère après le caractère actuel. Par conséquent, Python découpe ‘demonstrate s’ en D-m-n-t-a-e-s.
#7. Inverser une chaîne de caractères en utilisant un pas négatif.
Dans cet exemple, la chaîne entière sera affichée du dernier caractère de la chaîne au premier.
string = 'Ceci est une démonstration de l'inversion d'une chaîne de caractères à l'aide d'un pas négatif'
print(string[::-1])
Résultat :
pets evitagen eht gnisu gnirts gnisrever etartsnomed ot sihT
L’étape négative fonctionne comme suit :
R | E | V | E | R | S | E |
0 | 1 | 2 | 3 | 4 | 5 | 6 |
-6 | -5 | -4 | -3 | -2 | -1 |
La valeur de l’indice de départ de la chaîne inversée ci-dessus commence à 0 par défaut et se termine par 6. L’étape négative inverse la valeur de l’indice du dernier caractère et l’applique au premier caractère, puis annule cette valeur.
Autres exemples de découpage
Obtention des quatre premières sous-chaînes d’une chaîne de caractères.
chaîne = 'caractères'
print(string[0:4])
Résultat :
char
Lisez aussi : Comment supprimer le dernier caractère d’une chaîne Python
Rechercher la présence d’une sous-chaîne dans une chaîne de caractères
Python utilise la fonction find() ou l’opérateur ‘in’ pour vérifier l’existence d’une sous-chaîne dans une chaîne.
En utilisant l’exemple de l’opérateur “in
string = 'ceci est pour démontrer qu'une sous-chaîne particulière est trouvée dans une chaîne '
if 'find' in string :
print('La sous-chaîne est trouvée')
else :
print('N'a pas pu trouver la sous-chaîne définie')
Résultat :
Impossible de trouver la sous-chaîne définie
L’exemple ci-dessus vérifie si la sous-chaîne “find” est présente dans la chaîne déclarée. Comme la sous-chaîne n’est pas trouvée dans la chaîne, la sortie est celle affichée ci-dessus.
En remplaçant la sous-chaîne “find” par la sous-chaîne “that” et en vérifiant si elle existe ou non dans la chaîne, vous obtiendrez le résultat “sous-chaîne trouvée”, car elle est présente dans la chaîne.
En utilisant l’exemple de la fonction find() :
string = "utiliser string pour trouver si une sous-chaîne est présente dans une chaîne
if string.find('found') != -1 :
print("La sous-chaîne 'found' existe")
else :
print("La sous-chaîne 'trouvé' n'existe pas")
résultat :
<code class="language-python">La sous-chaîne "trouvée" n'existe pas
Dans l’exemple ci-dessus, nous avons essayé de trouver une sous-chaîne qui ne fait pas partie de notre chaîne. Comme nous l’avons vu ci-dessus, la fonction find() vérifie l’ensemble de la chaîne et si elle ne trouve pas cette sous-chaîne particulière, elle renvoie la sortie “La sous-chaîne trouvée n’existe pas”.
Trouver le nombre d’occurrences d’une sous-chaîne
Python utilise la fonction count() qui met en œuvre cette condition, comme dans l’exemple ci-dessous.
string = " Compte le nombre d'occurrences de 'o' dans cette chaîne "
print("Le nombre de sous-chaînes 'o' est : ",string.count('o')) ;
Résultat :
Le nombre de sous-chaînes 'o' est de : 5
Conclusion
Cet article devrait vous permettre de mieux comprendre ce qu’est une sous-chaîne en Python, comment la créer, et a clairement expliqué l’idée du découpage en tranches et comment l’implémenter. En utilisant les exemples fournis ci-dessus comme lignes directrices, pratiquez d’autres exemples pour mieux comprendre le concept.
Vous pouvez également apprendre comment créer un jeu de devinettes avec Python ou comment obtenir des données JSON en Python.
Bon codage !