Comment supprimer le dernier caractère d'une chaîne Python ?
Comment éliminer le dernier caractère d'une chaîne en Python : Plusieurs méthodes
Explorons ensemble diverses approches pour retirer le dernier caractère d'une chaîne de caractères en Python.
Le Découpage (Slicing)
Python offre une flexibilité remarquable avec le découpage, permettant d'utiliser des index positifs et négatifs. Les index négatifs démarrent à -1 pour le dernier élément et progressent jusqu'à -(longueur de l'itérable). Cette fonctionnalité s'avère très pratique pour manipuler les éléments à partir de la fin d'une séquence.
- L'index -1 désigne le dernier élément.
- L'index -2 pointe vers l'avant-dernier élément.
- Et ainsi de suite, jusqu'au premier élément.
Illustrons cela avec un exemple concret :
nom = "toptips.fr" print(nom[-1]) print(nom[-len(nom)])
Ce code affichera le dernier et le premier caractère de la chaîne, grâce à l'indexation négative.
Alors, comment utiliser le découpage pour supprimer le dernier caractère ? C'est simple comme bonjour. Nous savons comment extraire une partie de la chaîne. Appliquons cela avec un index négatif pour ôter le dernier caractère.
- Il suffit de découper la chaîne du début jusqu'à l'élément juste avant la fin.
nom_erroné = "GeekflareE" nom = nom_erroné[:-1] print(nom)
La deuxième ligne de ce code est la clé de l'opération. Elle extrait la sous-chaîne en partant du début jusqu'à l'avant-dernier caractère, car le découpage exclut l'élément correspondant au deuxième index.
En exécutant ce code, vous obtiendrez "Geekflare" comme résultat.
La méthode rstrip()
La méthode rstrip est spécialement conçue pour supprimer les caractères situés à l'extrémité droite d'une chaîne. Nous pouvons donc l'employer pour effacer le dernier élément. Une seule ligne de code suffit.
- Il suffit de passer le dernier caractère à la méthode
rstrip(), et elle renverra une nouvelle chaîne sans ce dernier élément.
Voici un exemple :
nom_erroné = "GeekflareE" nom = nom_erroné.rstrip(nom_erroné[-1]) print(nom)
Ici, nous passons le dernier caractère de la chaîne à rstrip(), qui le supprime et retourne une copie de la chaîne sans ce caractère.
Le résultat affiché dans la console sera "Geekflare".
Exemple Pratique : Supprimer le Dernier Mot d'un Fichier
Mettons en pratique ce que nous venons de voir dans un cas concret.
Imaginons que nous ayons un fichier contenant plusieurs lignes de texte, et notre objectif est de supprimer le dernier mot de chaque ligne.
Suivons les étapes suivantes :
- Créez un fichier nommé
random_text.txtet insérez-y quelques lignes de texte. - Initialisez une variable
donnéesavec une chaîne vide. - Ouvrez le fichier en mode lecture et écriture en utilisant la structure
with open(). - Lisez le contenu du fichier avec la méthode
readlines(). - Parcourez chaque ligne du contenu :
- Divisez la ligne en mots en utilisant
split(). - Supprimez le dernier mot en utilisant l'une des méthodes expliquées précédemment.
- Reconstituez la chaîne à partir des mots restants.
- Ajoutez cette nouvelle ligne à la variable
données.
- Divisez la ligne en mots en utilisant
- Effacez les données existantes du fichier avec
seek(0)ettruncate(). - Écrivez les nouvelles données dans le fichier en utilisant la méthode
write().
Voici les données contenues dans notre fichier :
Ceci est une ligne exemple pour le test. DernierMot. Ceci est une ligne exemple pour le test. Super. Ceci est une ligne exemple pour le test. MotAuHasard. Ceci est une ligne exemple pour le test. Supprimer. Ceci est une ligne exemple pour le test. Retirer.
Et voici le code correspondant :
données_mises_a_jour = ""
# ouverture du fichier
with open('random_text.txt', 'r+') as fichier:
# lecture du contenu
contenu_fichier = fichier.readlines()
# parcours du contenu
for ligne in contenu_fichier:
# suppression du dernier mot
ligne_mise_a_jour = " ".join(ligne.split(' ')[:-1])
# ajout des données à la variable
données_mises_a_jour += f'{ligne_mise_a_jour}\n'
# suppression des anciennes données
fichier.seek(0)
fichier.truncate()
# écriture des nouvelles données
fichier.write(données_mises_a_jour)
En exécutant ce script avec le fichier fourni, le fichier contiendra désormais ces données modifiées :
Ceci est une ligne exemple pour le test. Ceci est une ligne exemple pour le test. Ceci est une ligne exemple pour le test. Ceci est une ligne exemple pour le test. Ceci est une ligne exemple pour le test.
Nous espérons que ce tutoriel vous a plu.
Bon codage ! 🙂
N'hésitez pas à consulter d'autres informations sur les opérations de sous-chaîne en Python.
Cet article vous a intéressé ? N'hésitez pas à le partager avec votre réseau !