Tester le début d'une chaîne avec startswith() en Python

1. À propos de startswith() en Python

En Python, la méthode startswith() permet de vérifier si une chaîne de caractères commence par un préfixe donné. Elle retourne une valeur booléenne : True si le préfixe est trouvé au début de la chaîne et False dans le cas contraire.

Dans l'exemple suivant, la chaîne commence bien par "Python". La méthode startswith() retourne donc True.

Sortie :

Si le texte recherché ne correspond pas au début de la chaîne, startswith() retourne False.

Sortie :

La méthode startswith() est sensible à la casse. Les chaînes "Python" et "python" ne sont donc pas considérées comme identiques.

Sortie :

2. Tester le début d'une chaîne avec startswith()

La méthode startswith() peut vérifier un préfixe constitué d'un seul caractère ou de plusieurs caractères.

Dans l'exemple suivant, le programme vérifie si le mot commence par la lettre "P".

Sortie :

Un préfixe peut également contenir plusieurs caractères. Toute la séquence doit correspondre au début de la chaîne.

Sortie :

Les espaces font partie de la chaîne. Un espace situé avant le texte peut donc modifier le résultat du test.

Sortie :

Si les espaces placés au début ne sont pas significatifs, on peut utiliser lstrip() avant startswith().

Sortie :

3. Tester plusieurs préfixes avec startswith()

La méthode startswith() accepte également un tuple de préfixes. Elle retourne True si la chaîne commence par au moins l'un des préfixes contenus dans le tuple.

Dans l'exemple suivant, le programme vérifie si le nom du fichier commence par "cours_", "exercice_" ou "solution_".

Sortie :

Si aucun des préfixes du tuple ne correspond au début de la chaîne, la méthode retourne False.

Sortie :

Cette possibilité évite d'écrire plusieurs appels à startswith() reliés par l'opérateur or.

Sortie :

4. Limiter le test avec les paramètres start et end

La méthode startswith() accepte deux paramètres optionnels supplémentaires : start et end. Ils permettent de limiter le test à une portion de la chaîne.

Le paramètre start indique l'indice à partir duquel commence la zone à tester. Dans l'exemple suivant, "Python" commence à l'indice 7.

Sortie :

Dans cette chaîne, les indices 0 à 7 correspondent à "Cours : " et la lettre P de "Python" se trouve donc à l'indice 8.

Le paramètre end permet de fixer la limite de la zone dans laquelle le préfixe doit tenir. Comme avec le slicing, cette limite de fin est exclue.

Sortie :

Dans le premier test, la portion considérée contient entièrement "Python". Dans le second, la limite end est trop petite pour contenir le préfixe complet.

5. Utiliser startswith() dans une condition

Comme startswith() retourne True ou False, elle peut être utilisée directement dans une instruction if pour exécuter du code selon le début d'une chaîne.

Dans l'exemple suivant, le programme détecte une adresse Web utilisant HTTPS.

Sortie :

On peut également utiliser un tuple afin d'accepter plusieurs débuts possibles dans une seule condition.

Sortie :

Pour effectuer un test simple sans tenir compte de la casse, il est possible de normaliser la chaîne et le préfixe avec casefold().

Sortie :

6. Exemples pratiques avec startswith()

Filtrer des noms de fichiers

startswith() peut servir à sélectionner uniquement les noms de fichiers qui commencent par un préfixe particulier.

Sortie :

Détecter une ligne de commentaire

Après avoir supprimé les espaces situés au début avec lstrip(), startswith() peut vérifier si une ligne commence par le caractère # utilisé pour les commentaires Python.

Sortie :

Vérifier le début d'un identifiant

startswith() peut être utilisée pour vérifier qu'une chaîne respecte une convention simple de préfixe.

Sortie :

Filtrer plusieurs préfixes

Un tuple permet de sélectionner les éléments qui commencent par l'un de plusieurs préfixes autorisés.

Sortie :

Comparer startswith() avec une tranche de chaîne

Il est possible de vérifier un préfixe avec le slicing, mais startswith() exprime directement l'intention du programme et évite de calculer manuellement la longueur du préfixe.

Sortie :

7. À retenir !

La méthode startswith() permet de vérifier simplement si une chaîne commence par un préfixe donné. Elle retourne un booléen et peut donc être utilisée directement dans une condition.

  • startswith() retourne True lorsque la chaîne commence par le préfixe recherché.
  • Elle retourne False lorsque le préfixe ne correspond pas au début de la chaîne.
  • La comparaison est sensible à la casse.
  • Le préfixe peut contenir un ou plusieurs caractères.
  • Un tuple permet de tester plusieurs préfixes en un seul appel.
  • Les paramètres optionnels start et end permettent de limiter la zone de la chaîne à tester.
  • Les espaces placés au début de la chaîne sont pris en compte.
  • startswith() peut être combinée avec lstrip() lorsque les espaces initiaux doivent être ignorés.
  • Pour un test sans distinction de casse, on peut normaliser les chaînes avec casefold().
  • startswith() est particulièrement pratique pour filtrer des chaînes selon leur préfixe.

Le programme suivant résume plusieurs utilisations courantes de startswith().

Sortie :

 




Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


loader-image
Le prix initial était : € 11,00.Le prix actuel est : € 10,00.
Le prix initial était : € 6,00.Le prix actuel est : € 5,00.



Leave a Reply

Your email address will not be published. Required fields are marked *