Découvrez les différentes façons de supprimer le dernier caractère d'une chaîne de caractères en Python
Découpage
Python prend en charge le découpage en tranches à indice négatif, ainsi que le découpage en tranches à indice positif. L'index négatif commence entre -1 et -(iterable_length). Nous allons utiliser le découpage négatif pour obtenir les éléments de la fin d'un itérable
- L'indice -1 vous permet d'obtenir le dernier élément de l'itérable.
- L'indice -2 vous donne l'avant-dernier élément de l'itérable.
- Et cela continue jusqu'au premier élément.
Voyons un exemple
name = 'Geekflare'
print(name[-1])
print(name[-len(name)])
Le programme ci-dessus imprimera le dernier et le premier caractère de la chaîne en utilisant l'indexation négative
Comment supprimer le dernier élément de la chaîne en utilisant le découpage en tranches? Il s'agit simplement d'une ligne de code. Nous savons comment extraire une partie de la chaîne de caractères à l'aide du découpage. Appliquons la même chose avec un index négatif pour supprimer le dernier caractère de la chaîne
- Découpez la chaîne du début jusqu'au dernier élément avant.
buggy_name = 'GeekflareE'
name = buggy_name[:-1]
print(name)
Concentrons-nous sur la deuxième ligne du code ci-dessus. C'est la ligne magique du code. Comme un découpage traditionnel, il extrait la sous-chaîne à partir de l'index de départ jusqu'à l'avant-dernier, car le découpage ignore le deuxième élément d'index donné
Vous obtiendrez Geekflare
en sortie si vous exécutez le code ci-dessus
rstrip
La méthode de chaîne rstrip supprime les caractères du côté droit de la chaîne qui lui est donnée. Nous pouvons donc l'utiliser pour supprimer le dernier élément de la chaîne. Nous n'avons pas besoin d'écrire plus d'une ligne de code pour supprimer le dernier caractère de la chaîne
- Donnez le dernier élément à la méthode bande , elle retournera la chaîne en enlevant le dernier caractère.
Voyons l'extrait de code
buggy_name = 'GeekflareE'
name = buggy_name.rstrip(buggy_name[-1])
print(name)
Nous avons donné le dernier caractère de la chaîne à la méthode bande . Elle supprime le dernier caractère de la chaîne et renvoie une copie sans le dernier caractère
Si vous l'exécutez, Geekflare
s'affichera dans la console
Exemple pratique - supprimer le dernier mot
Nous allons appliquer ce que nous avons appris dans les sections précédentes dans un exemple pratique
Disons que nous avons un fichier qui contient plusieurs lignes de texte. Nous devons supprimer le dernier mot de chaque ligne du fichier
Suivez les étapes ci-dessous pour écrire le programme
- Créez un fichier appelé texte_aléatoire.txt et insérez-y quelques lignes de texte.
- Initialisez une variable de données sous la forme d'une chaîne vide.
- Ouvrez le fichier en utilisant les méthodes avec et ouvert en mode lecture et écriture.
- Lisez le contenu du fichier à l'aide de la méthode lignes de lecture .
- Interrogez chaque ligne du contenu
- Divisez la ligne de texte à l'aide de la méthode diviser en mots.
- Supprimez le dernier mot à l'aide de l'une des méthodes ci-dessus.
- Joignez les résultats pour former une chaîne de caractères.
- Ajoutez le résultat à la variable data.
- Supprimez les données du fichier à l'aide des méthodes chercher et tronquer .
- Écrivez les dernières données dans le fichier à l'aide de la méthode écrire .
Le fichier contient les données suivantes
Il s'agit d'un exemple de ligne à des fins de test. LastWord.
Ceci est un exemple de ligne pour les tests. KillingIt.
Il s'agit d'un exemple de ligne pour les tests. RandomWord.
Il s'agit d'un exemple de ligne à tester. DeleteIt.
Ceci est une ligne d'exemple pour tester. SupprimerIt
Voir le code ci-dessous
updated_data = ''
# ouvrir le fichier
avec open('random_text.txt', 'r ') as file :
# lire le contenu du fichier
file_content = file.readlines()
# itérer sur le contenu
for line in file_content :
# supprimer le dernier mot
updated_line = ' '.join(line.split(' ')[:-1])
# ajouter les données à la variable
updated_data = f'{updated_line}\n'
# supprimer les anciennes données
file.seek(0)
file.truncate()
# écrire les nouvelles données
file.write(updated_data)
Si vous exécutez le code ci-dessus avec le fichier donné, celui-ci contiendra les données mises à jour suivantes
Ceci est un exemple de
ligne à tester.
Ceci est un exemple de ligne à tester.
Ceci est un exemple de ligne à tester.
Ceci est un exemple de ligne à tester.
Ceci est un exemple de ligne à tester
J'espère que vous avez apprécié ce tutoriel
Bon codage 🙂 .
Consultez également Opérations sur les chaînes de caractères en Python(en anglais).