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 récupérer les éléments à 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(nom[-1])
print(nom[-len(nom)])

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 à l’aide du découpage en tranches? Il s’agit simplement d’une ligne de code. Nous savons comment extraire une partie de la chaîne en utilisant le découpage. Appliquons la même chose avec un index négatif pour retirer le dernier caractère de la chaîne.

  • Découpez la chaîne du début jusqu’au dernier élément avant.
nom_buggy = 'GeekflareE'
name = buggy_name[:-1]
print(nom)

Concentrons-nous sur la deuxième ligne du code ci-dessus. C’est la ligne magique du code. Comme pour un découpage traditionnel, elle extrait la sous-chaîne à partir de l’indice de départ jusqu’à l’avant-dernier, car le découpage ignore le deuxième élément d’indice donné.

Vous obtiendrez Geekflare en sortie si vous exécutez le code ci-dessus.

rstrip

La méthode 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 strip , 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(nom)

Nous avons donné le dernier caractère de la chaîne à la méthode strip . 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

Oui, nous allons appliquer ce que nous avons appris dans les sections précédentes dans un exemple pratique.

Supposons que nous ayons un fichier contenant 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é random_text.txt et insérez-y quelques lignes de texte.
  • Initialisez une variable de données en tant que chaîne vide.
  • Ouvrez le fichier en utilisant les méthodes with et open en mode lecture et écriture.
  • Lisez le contenu du fichier à l’aide de la méthode readlines .
  • Interrogez chaque ligne du contenu.
    • Divisez la ligne de texte à l’aide de la méthode split in words.
    • 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 de données.
  • Supprimez les données du fichier à l’aide des méthodes seek et truncate .
  • Écrire les dernières données dans le fichier à l’aide de la méthode write .

Le fichier contient les données suivantes.

Il s'agit d'un exemple de ligne pour les tests. Dernier mot.
Ceci est un exemple de ligne pour le test. KillingIt.
Il s'agit d'un exemple de ligne à tester. RandomWord.
Il s'agit d'un exemple de ligne à tester. DeleteIt.
Ceci est un exemple de ligne pour les tests. SupprimerIt.

Voir le code ci-dessous.

updated_data = ''

# ouverture du fichier
avec open('random_text.txt', 'r ') en tant que fichier :
    # lecture du contenu du fichier
    file_content = file.readlines()

    # itération sur le contenu
    for line in file_content :

        # suppression du dernier mot
        updated_line = ' '.join(line.split(' ')[:-1])

        # ajout de données à la variable
        updated_data = f'{updated_line}\n'

    # suppression des anciennes données
    file.seek(0)
    file.truncate()

    # écriture des 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.

Il s'agit d'une ligne d'exemple pour les tests.
Il s'agit d'un exemple de ligne à tester.
Ceci est un exemple de ligne à tester.
Il s'agit d'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 Substring Operations in Python(en anglais).