Cet article vise à amener l'apprenant à une meilleure compréhension des sous-chaînes en Python.

Il vous apprendra comment créer une sous-chaîne, en extraire différentes parties d'une chaîne et comment fonctionnent les sous-chaînes en Python en utilisant plusieurs exemples pour l'implémenter. Nous vérifierons ensuite 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. Nous pouvons définir une sous-chaîne comme une partie de la séquence de caractères dans une chaîne.

Nous discuterons de ce qui suit:

  • Création d'une sous-chaîne.
  • Façons de découper 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!

Creating a Substring

Une sous-chaîne est créée principalement à l'aide de la technique de découpage. Cette technique permet l'extraction de la sous-chaîne en définissant les délimiteurs de l'index de début, de l'index de fin et de l'étape. Ces délimiteurs permettent l'extraction en précisant l'index précis des caractères que vous souhaitez obtenir.

La syntaxe ressemble à ceci :

string[begin-index: end-index: step]

Notez que la valeur d'index dans n'importe quelle chaîne commence à zéro.

Le paramètre begin-index indique l'index de départ de la sous-chaîne. Par conséquent, si vous omettez cet élément lors du découpage, Python suppose automatiquement que sa valeur d'index est zéro.

End-index est le dernier index de la sous-chaîne. Lorsque vous ne le mentionnez pas, le découpage suppose que sa valeur est égale à la longueur de la chaîne.

Étape : Indique le caractère suivant à prendre en compte après le caractère actuel. La valeur de ce paramètre est généralement un. Lorsque le paramètre step est omis lors du découpage, sa valeur est toujours supposée être un.

Ways of slicing a string

Il existe plusieurs façons d'obtenir une sous-chaîne à partir d'une chaîne. Ceux-ci inclus:

# 1. Découpage à l'aide de l'index de début et de l'index de fin.

String = string[begin-index : end-index]

Dans une instance où vous souhaitez obtenir le prénom d'une personne à partir de son nom complet, vous l'implémenterez comme ceci :

string = 'Michael Doe'

print(string[0:7])

La sortie sera:

Michael

# 2. Découpage à l'aide d'un index de début sans index de fin.

String= string[begin-index:]

Ici, nous indiquons uniquement à partir de quel index nous voulons commencer à extraire nos caractères de sous-chaîne de la chaîne - en découpant les extraits jusqu'au dernier index de la chaîne entière qui a généralement un index de -1.

Mise en situation :

string = 'This is to demonstrate slicing of a string using the begin-index without the end-index'

print(string[7:])

Sortie :

to demonstrate slicing of a string using the begin-index without the end-index

# 3. Découpage en utilisant l'index de fin sans l'index de début.

String = string[:end-index]

Ici, nous indiquons le dernier caractère que la sous-chaîne doit inclure, en laissant de côté l'endroit où elle doit commencer. Par conséquent, le découpage en tranches affichera la sous-chaîne en commençant par le caractère d'index zéro de la chaîne.

Mise en situation :

string = 'This is to demonstrate slicing of a string using the end-index without the begin-index'

print(string[:9])

Sortie :

This is t

# 4. Trancher toute la chaîne.

String = string[ : ]

Dans ce cas, nous n'identifions aucun des délimiteurs ; par conséquent, la chaîne entière est renvoyée.

Exemple

string = 'This is to demonstrate slicing of the entire string'

print(string[:])

Sortie :

This is to demonstrate slicing of the entire string

# 5. Trancher un seul caractère d'une chaîne.

String = string[index]

Une valeur d'index précise d'un caractère de la chaîne est découpée ici.

Mise en situation :

string = 'This is to demonstrate slicing of a single character from a string'

print(string[8])

Le 't' dans 'to' est imprimé puisque sa valeur d'index est 8.

# 6. Découpage à l'aide de l'index de début, de l'index de fin et de l'étape.

Exemple

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:1])

Lorsque la valeur de pas est définie sur 1, un découpage normal se produit et ce qui suit est sorti ici.

demonstrate s

En utilisant le même exemple, définissons la valeur du pas sur 2.

string = 'This is to demonstrate slicing of the string using the begin-index, step, and end-index'

print(string[11:24:2])

Le découpage des caractères se fera par étapes de 2 comme ceci.

dmntaes

Le découpage extrait le deuxième caractère après celui en cours. Par conséquent, les tranches Python démontrent s' à Dmntaes.

# 7. Inverser une chaîne à l'aide d'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 = 'This is to demonstrate reversing string using the negative step'

print(string[::-1])

Sortie :

pets evitagen eht gnisu gnirts gnisrever etartsnomed ot si sihT

L'étape négative fonctionne comme ceci :

R E V E R S E
0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1

La valeur d'index de début de la chaîne inversée ci-dessus commence par 0 par défaut et se termine par 6. L'étape négative inverse la valeur d'index du dernier caractère et l'applique au premier caractère, et annule cette valeur.

Plus d'exemples sur le tranchage

Obtention des quatre premiers caractères de sous-chaîne dans une chaîne.

string = 'characters'

print(string[0:4])

Sortira :

char

Finding the presence of a substring in a string

Python utilise soit la fonction find() soit l'opérateur 'in' pour vérifier l'existence d'une sous-chaîne dans une chaîne.

Utilisation de l'exemple de l'opérateur "in"

string = 'this is to demonstrate that a particular substring is found in a string '
if 'find' in string: 
    print('The substring is found') 
else: 
    print('Could not find the substring defined')

Sortie :

Could not find the substring defined

L'exemple ci-dessus vérifie si la sous-chaîne 'find' est présente dans la chaîne déclarée. Étant donné que la sous-chaîne n'est pas trouvée dans la chaîne, la sortie est telle qu'affichée ci-dessus.

Remplacer la sous-chaîne 'find' par la sous-chaîne 'that' et vérifier si elle existe ou non dans la chaîne renverrait 'substring is found' à la place car elle est présente dans la chaîne.

En utilisant l'exemple de fonction find() :

trouver une sous-chaîne

string = 'using string to find if a substring is present in a string'

if string.find('found') != -1:

    print("The substring 'found' exists")

else:

    print("The substring 'found' does not exist")

sortie:

<code class="language-python">The substring 'found' does not exist

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 toute la chaîne et ne trouve pas cette sous-chaîne 'trouvée' particulière, elle renvoie la sortie 'La sous-chaîne trouvée n'existe pas' comme sortie.

Finding the number of occurrences of a substring

Python utilise la fonction count() qui implémente cette condition, comme dans l'exemple ci-dessous.

string = " Counting the number of occurrences of 'o' in this string "

print("The 'o' substring count is: ",string.count('o'));

Sortie :

The 'o' substring count is:  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 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 à créer un jeu de devinettes avec Python or comment obtenir des données JSON en Python.

Bonne codage!