Comment vérifier si une chaîne de caractères contient une sous-chaîne en Python

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à vérifier si une chaîne de caractères contient une sous-chaîne en Python. Le laboratoire vous guide tout au long de la définition de sous-chaînes en utilisant le découpage (slicing) avec des indices positifs et négatifs. Vous allez créer un script Python nommé substrings.py pour extraire des sous-chaînes d'une chaîne donnée et les afficher dans la console.

Le laboratoire montre comment utiliser le découpage (slicing) pour définir des sous-chaînes, en extrayant des parties d'une chaîne en spécifiant les indices de début et de fin. Vous apprendrez à extraire des sous-chaînes telles que "Hello" et "LabEx" de la chaîne "Hello, LabEx!" et également à accéder au dernier caractère de la chaîne en utilisant l'indexation négative. Le laboratoire comprend des instructions pour exécuter le script et vérifier la sortie.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") subgraph Lab Skills python/strings -.-> lab-559567{{"Comment vérifier si une chaîne de caractères contient une sous-chaîne en Python"}} python/conditional_statements -.-> lab-559567{{"Comment vérifier si une chaîne de caractères contient une sous-chaîne en Python"}} end

Définir des sous-chaînes

Dans cette étape, vous apprendrez à définir des sous-chaînes en Python. Une sous-chaîne est une séquence contiguë de caractères au sein d'une chaîne. Comprendre comment manipuler les sous-chaînes est essentiel pour de nombreuses tâches de manipulation de chaînes.

Commençons par créer un script Python appelé substrings.py dans votre répertoire ~/project. Vous pouvez utiliser l'éditeur VS Code pour créer ce fichier.

## ~/project/substrings.py
string = "Hello, LabEx!"

Ce script initialise une variable de chaîne nommée string avec la valeur "Hello, LabEx!".

Maintenant, ajoutons du code pour extraire des sous-chaînes de cette chaîne. Une façon simple de définir une sous-chaîne consiste à utiliser le découpage (slicing). Le découpage vous permet d'extraire une partie d'une chaîne en spécifiant les indices de début et de fin.

Ajoutez les lignes suivantes à votre fichier substrings.py :

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = string[0:5]  ## Caractères de l'index 0 à 4
substring2 = string[7:12] ## Caractères de l'index 7 à 11

print(substring1)
print(substring2)

Dans cet exemple, substring1 contiendra les caractères de l'index 0 jusqu'à (mais sans inclure) l'index 5, soit "Hello". substring2 contiendra les caractères de l'index 7 jusqu'à (mais sans inclure) l'index 12, soit "LabEx".

Pour exécuter le script, ouvrez votre terminal dans VS Code et exécutez la commande suivante :

python ~/project/substrings.py

Vous devriez voir la sortie suivante :

Hello
LabEx

Vous pouvez également utiliser des indices négatifs pour définir des sous-chaînes. Les indices négatifs comptent à partir de la fin de la chaîne. Par exemple, string[-1] fait référence au dernier caractère de la chaîne.

Modifiez votre fichier substrings.py pour inclure ce qui suit :

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = string[0:5]  ## Caractères de l'index 0 à 4
substring2 = string[7:12] ## Caractères de l'index 7 à 11
substring3 = string[-1]   ## Dernier caractère

print(substring1)
print(substring2)
print(substring3)

Maintenant, exécutez le script à nouveau :

python ~/project/substrings.py

La sortie devrait maintenant inclure le dernier caractère de la chaîne :

Hello
LabEx
!

Comprendre comment définir des sous-chaînes en utilisant le découpage (slicing) est une compétence fondamentale en Python. Expérimentez avec différents indices de début et de fin pour extraire diverses parties de la chaîne.

Utiliser l'opérateur in

Dans cette étape, vous apprendrez à utiliser l'opérateur in en Python pour vérifier si une sous-chaîne existe au sein d'une chaîne. L'opérateur in est un moyen simple et efficace de déterminer la présence d'une sous-chaîne.

Continuons à travailler avec le fichier substrings.py que vous avez créé à l'étape précédente. Nous allons ajouter du code pour vérifier si certaines sous-chaînes sont présentes dans la chaîne originale.

Ouvrez le fichier substrings.py dans votre répertoire ~/project en utilisant l'éditeur VS Code.

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = "Hello"
substring2 = "Python"

print(substring1 in string)
print(substring2 in string)

Dans cet exemple, nous définissons deux sous-chaînes, substring1 et substring2. Nous utilisons ensuite l'opérateur in pour vérifier si chaque sous-chaîne est présente dans la variable string. L'opérateur in renvoie True si la sous-chaîne est trouvée, et False sinon.

Pour exécuter le script, ouvrez votre terminal dans VS Code et exécutez la commande suivante :

python ~/project/substrings.py

Vous devriez voir la sortie suivante :

True
False

Cette sortie indique que "Hello" est présent dans la chaîne "Hello, LabEx!", tandis que "Python" ne l'est pas.

Vous pouvez également utiliser l'opérateur in dans des instructions conditionnelles. Modifiez votre fichier substrings.py pour inclure ce qui suit :

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = "Hello"
substring2 = "Python"

if substring1 in string:
    print(f"'{substring1}' is found in '{string}'")
else:
    print(f"'{substring1}' is not found in '{string}'")

if substring2 in string:
    print(f"'{substring2}' is found in '{string}'")
else:
    print(f"'{substring2}' is not found in '{string}'")

Maintenant, exécutez le script à nouveau :

python ~/project/substrings.py

La sortie devrait maintenant être plus détaillée :

'Hello' is found in 'Hello, LabEx!'
'Python' is not found in 'Hello, LabEx!'

L'opérateur in est un outil puissant pour la manipulation de chaînes en Python. Il vous permet de vérifier facilement la présence de sous-chaînes au sein d'une chaîne, rendant votre code plus lisible et plus efficace.

Trouver la position avec find()

Dans cette étape, vous apprendrez à utiliser la méthode find() en Python pour trouver la position d'une sous-chaîne au sein d'une chaîne. La méthode find() renvoie l'indice de la première occurrence de la sous-chaîne, ou -1 si la sous-chaîne n'est pas trouvée.

Continuons à travailler avec le fichier substrings.py que vous avez créé dans les étapes précédentes. Nous allons ajouter du code pour trouver la position de sous-chaînes spécifiques au sein de la chaîne originale.

Ouvrez le fichier substrings.py dans votre répertoire ~/project en utilisant l'éditeur VS Code.

## ~/project/substrings.py
string = "Hello, LabEx!"

substring1 = "LabEx"
substring2 = "Python"

position1 = string.find(substring1)
position2 = string.find(substring2)

print(position1)
print(position2)

Dans cet exemple, nous définissons deux sous-chaînes, substring1 et substring2. Nous utilisons ensuite la méthode find() pour trouver la position de chaque sous-chaîne au sein de la variable string.

Pour exécuter le script, ouvrez votre terminal dans VS Code et exécutez la commande suivante :

python ~/project/substrings.py

Vous devriez voir la sortie suivante :

7
-1

Cette sortie indique que "LabEx" est trouvé à l'indice 7 dans la chaîne "Hello, LabEx!", tandis que "Python" n'est pas trouvé (indiqué par -1).

Vous pouvez également utiliser la méthode find() avec des indices de début et de fin optionnels pour rechercher une sous-chaîne dans une plage spécifique. Modifiez votre fichier substrings.py pour inclure ce qui suit :

## ~/project/substrings.py
string = "Hello, LabEx! LabEx"

substring1 = "LabEx"

position1 = string.find(substring1)         ## Trouver la première occurrence
position2 = string.find(substring1, 8)      ## Trouver l'occurrence à partir de l'indice 8
position3 = string.find(substring1, 0, 5)   ## Trouver l'occurrence dans les 5 premiers caractères

print(position1)
print(position2)
print(position3)

Maintenant, exécutez le script à nouveau :

python ~/project/substrings.py

La sortie devrait maintenant être :

7
14
-1

Dans cet exemple :

  • position1 trouve la première occurrence de "LabEx" à l'indice 7.
  • position2 commence la recherche à partir de l'indice 8, donc il trouve la deuxième occurrence de "LabEx" à l'indice 14.
  • position3 effectue la recherche dans les 5 premiers caractères de la chaîne, donc il ne trouve pas "LabEx" et renvoie -1.

La méthode find() est un outil polyvalent pour localiser des sous-chaînes au sein d'une chaîne. Comprendre comment l'utiliser avec des indices de début et de fin optionnels vous permet d'effectuer des recherches plus ciblées.

Résumé

Dans ce laboratoire (lab), vous avez appris à définir des sous-chaînes en Python en utilisant le découpage de chaînes (string slicing). Vous avez créé un script Python pour initialiser une chaîne, puis extrait des sous-chaînes en spécifiant les indices de début et de fin, y compris l'utilisation d'indices négatifs pour accéder aux caractères depuis la fin de la chaîne. Le laboratoire a démontré comment afficher ces sous-chaînes extraites dans la console.

Le principal point à retenir est de comprendre comment utiliser le découpage avec des indices positifs et négatifs pour définir et extraire des parties spécifiques d'une chaîne, ce qui est une compétence fondamentale pour la manipulation de chaînes en Python.