Créer et traiter des Python Substrings : comment ça marche ?

Dans le langage de programmation Python, plusieurs façons de créer des « substrings » ou sous-chaînes ou de vérifier les occurrences de sous-chaînes dans une chaîne sont proposées.

Qu’est-ce qu’une sous-chaîne ?

Une sous-chaîne n’est en principe rien de plus qu’un élément d’une string Python. Les « strings » sont des chaînes de caractères de toute taille. Si seule une partie d’une telle chaîne vous intéresse et que vous extrayez celle-ci, vous obtiendrez ce qui s’appelle une « substring » ou sous-chaîne en français. Un exemple simple est la chaîne « Hello World! », que vous pouvez par exemple diviser en deux sous-chaînes « Hello » et « World! ». Notez que les sous-chaînes ne sont pas nécessairement des mots individuels. Chaque lettre et caractère d’une chaîne peuvent également constituer une sous-chaîne distincte.

Conseil

Si vous envisagez d’opter pour Python pour réaliser un projet Web, Deploy Now de IONOS peut constituer une option intéressante. En mettant en place un flux de travail GitHub automatisé, vous pouvez déployer et construire vos projets Web en toute simplicité.

Créer une sous-chaîne Python

Slicing

Si vous voulez écrire du code Python qui crée une sous-chaîne pour vous, vous pouvez alors vous tourner vers la fonctionnalité la plus populaire de Python du « Slicing ». Cette fonction de découpage vous permet de spécifier où votre sous-chaîne doit commencer et où elle doit se terminer à l’aide d’index. Vous passez les index entre crochets, séparés par deux points. L’index de début est inclusif, tandis que l’index de fin est exclusif. La syntaxe du slicing en Python s’apparente donc à ceci :

string[début:fin]
python

Un exemple de code concret permet d’illustrer la fonction de découpage ou « slicing » :

s = "Python est un langage de programmation populaire."
résultat = s[0:6]
python

On commence par créer une chaîne nommée « s ». Le slicing s’observe dans la deuxième ligne de l’exemple de code. Après le nom de la chaîne sont spécifiés entre crochets d’abord l’index de début 0 qui est suivi d’un deux-points, puis l’index de fin 6. Par conséquent, la sous-chaîne de « s », qui se compose du caractère zéro au cinquième caractère inclus, est stockée dans la variable nommée « résultat ». Dans notre cas, la variable « résultat » contenait le mot « Python ».

Si vous voulez découper une chaîne à partir du début ou de la fin, vous pouvez raccourcir encore plus la notation du slicing Python : si vous ne spécifiez pas d’index de début, l’index 0 est sélectionné par défaut. Si vous omettez cependant l’index de fin, le slicing va créer une sous-chaîne Python qui s’étend jusqu’à la fin de la chaîne initiale.

Si vous voulez faire débuter l’extraction de sous-chaînes dans votre chaîne Python initiale à partir de la fin, vous pouvez utiliser une notation raccourcie qui utilise des index négatifs :

s = "Python est un langage de programmation populaire."
résultat = s[-24:]
python

Dans l’exemple de code ci-dessus, la variable nommée « résultat » contient les 24 derniers caractères de la chaîne d’origine « s ». Ainsi, la chaîne « programmation populaire » apparaît dans la variable « résultat ».

Méthodes string

Outre le slicing en Python, un certain nombre de méthodes String prédéfinies vous permet d’extraire une sous-chaîne Python d’une chaîne.

La fonction slice

Comme son nom le laisse supposer, la fonction slice fonctionne comme le slicing en Python. La syntaxe de la fonction slice rappelle également fortement le slicing déjà mentionné. Elle adopte un index de début et un index de fin et renvoie la sous-chaîne correspondante :

string.slice(début, fin)
python

La fonction substring

La méthode substring est également idéale pour extraire des sous-chaînes Python. Sur le plan de la syntaxe, elle ressemble à la fonction slice. Le comportement est également analogue :

string.substring(début, fin)
python

La fonction split

Si plusieurs sous-chaînes Python vous intéressent au lieu d’une seule, vous devriez vous pencher sur Python split. La fonction vous permet de diviser une chaîne en sous-chaînes à l’aide d’un symbole séparateur passé dans une liste Python. La syntaxe n’est pas compliquée :

string.split(séparateur)
python

À nouveau, ayons recours à un exemple de code court pour mieux comprendre la procédure de la fonction split :

s = "Python est un langage de programmation populaire."
résultat = s.split(" ")
python

L’appel de la fonction split en Python accepte le séparateur en argument : cela correspond à un espace dans notre cas. Une liste de toutes les sous-chaînes Python séparées par un espace dans la chaîne d’origine est maintenant stockée dans la variable « résultat » : « [‘Python’, ‘est’, ‘un’, ‘langage’, ‘de’, ‘programmation’, ‘populaire’.’]«

Sous-chaînes résultant d’expressions régulières

Vous pouvez également enregistrer des Python Substrings dans une liste si vous appliquez une expression régulière à une chaîne, puis utilisez la fonction findall issue de la bibliothèque « re ». Les expressions régulières en Python correspondent à un format de traitement des chaînes qui retrouve des motifs spécifiques dans les chaînes. La fonction findall prend une expression régulière en premier paramètre de transfert et une chaîne en second paramètre. Un exemple de code permet d’illustrer la procédure :

import re
s = "Python est un langage de programmation populaire."
résultat = re.findall(r"\w+", s)
python

La bibliothèque « re » est importée dans la première ligne de code pour que la fonction findall soit accessible par la suite. L’expression régulière « r“\w+“ » ainsi que la chaîne déjà connue dans la variable nommée « s » sont alors passées à celle-ci. L’expression régulière peut sembler étrange à première vue, mais elle n’exprime rien d’autre que la nécessité d’extraire tous les mots d’une chaîne. Ainsi, nous ne sommes pas surpris de retrouver une liste de sous-chaînes Python dans la variable nommée « résultat » : « [‘Python’, ‘est’, ‘un’, ‘langage’, ‘de’, ‘programmation’, ‘populaire’.’] ».