Wie entferne ich das letzte Zeichen aus einer Python-Zeichenfolge?

Verschiedene Methoden zum Entfernen des letzten Zeichens einer Zeichenkette in Python

Es gibt mehrere Wege, wie du in Python das letzte Zeichen einer Zeichenkette entfernen kannst. Hier werden wir uns einige davon genauer ansehen.

Slicing

Python ermöglicht das sogenannte „negative Index-Slicing“, welches zusammen mit dem „positiven Slicing“ genutzt werden kann. Negative Indizes beginnen bei -1 und gehen bis -(Länge der Zeichenkette). Durch die Verwendung von negativem Slicing können wir Elemente vom Ende einer Zeichenkette extrahieren.

  • Der Index -1 gibt das letzte Element der Zeichenkette zurück.
  • Der Index -2 gibt das vorletzte Element der Zeichenkette zurück.
  • Dies setzt sich fort, bis zum ersten Element.

Ein kleines Beispiel zur Veranschaulichung:

name = "beispiel"
print(name[-1])
print(name[-len(name)])

Dieses kleine Programm gibt das letzte und erste Zeichen der Zeichenkette mithilfe negativer Indizierung aus.

Wie können wir das letzte Element einer Zeichenkette mit Slicing entfernen? Es ist lediglich eine einzige Zeile Code. Wir wissen, wie wir Teile einer Zeichenkette mittels Slicing extrahieren. Dies wenden wir mit einem negativen Index an, um das letzte Zeichen zu entfernen:

  • Wir schneiden die Zeichenkette vom Anfang bis kurz vor das letzte Element.
zeichenkette = "TestzeichenketteX"
neue_zeichenkette = zeichenkette[:-1]
print(neue_zeichenkette)

Die zweite Zeile ist hier entscheidend. Sie extrahiert einen Teil der Zeichenkette vom Startindex bis zum vorletzten Element, da das Slicing das zweite angegebene Indexelement ignoriert.

Die Ausgabe wäre in diesem Fall „Testzeichenkette“.

Die rstrip() Methode

Die String-Methode rstrip() entfernt Zeichen von der rechten Seite eines Strings. Damit können wir ebenfalls das letzte Element einer Zeichenkette entfernen. Dies gelingt ebenfalls mit einer einzigen Zeile Code.

  • Wir übergeben das letzte Element der rstrip() Methode, diese gibt uns eine Kopie der Zeichenkette ohne das letzte Zeichen zurück.

Hier ein Codebeispiel:

zeichenkette = "TestzeichenketteY"
neue_zeichenkette = zeichenkette.rstrip(zeichenkette[-1])
print(neue_zeichenkette)

Wir haben der rstrip() Methode das letzte Zeichen des Strings übergeben. Die Methode entfernt das Zeichen und gibt eine Kopie des Strings ohne dieses letzte Zeichen zurück.

Die Ausgabe wird „Testzeichenkette“ sein.

Praktisches Beispiel: Entfernen des letzten Wortes aus mehreren Textzeilen

Wir wenden das Gelernte an, um das letzte Wort aus mehreren Textzeilen in einer Datei zu entfernen.

Stellen wir uns vor, wir haben eine Datei mit mehreren Textzeilen. Wir möchten das letzte Wort aus jeder Zeile entfernen.

Hier die Schritte, um das Programm zu schreiben:

  • Erstelle eine Datei namens textdatei.txt und schreibe einige Textzeilen hinein.
  • Initialisiere eine Variable namens neue_daten als leeren String.
  • Öffne die Datei mit with open() im Lese- und Schreibmodus.
  • Lese den Inhalt der Datei mit der readlines() Methode.
  • Iteriere durch jede Zeile des Inhalts:
    • Teile die Textzeile mit der split() Methode in Wörter.
    • Entferne das letzte Wort mit einer der oben genannten Methoden.
    • Verbinde das Ergebnis zu einem String.
    • Hänge das Ergebnis an die neue_daten Variable an.
  • Lösche die alten Daten aus der Datei mit seek(0) und truncate().
  • Schreibe die neuen Daten mit der write() Methode in die Datei.

Die Datei enthält die folgenden Daten:

Dies ist ein Beispieltext. Wort1.
Dies ist eine andere Zeile. Wort2.
Und noch eine Zeile hier. Wort3.

Der dazugehörige Code sieht wie folgt aus:

neue_daten = ""

# Datei öffnen
with open('textdatei.txt', 'r+') as datei:
    # Dateiinhalt lesen
    datei_inhalt = datei.readlines()

    # Iteriere durch den Inhalt
    for zeile in datei_inhalt:
        # Entferne das letzte Wort
        aktualisierte_zeile = " ".join(zeile.split(' ')[:-1])

        # Hänge Daten an die Variable an
        neue_daten += f'{aktualisierte_zeile}n'

    # Entferne die alten Daten
    datei.seek(0)
    datei.truncate()

    # Schreibe die neuen Daten
    datei.write(neue_daten)

Wenn wir diesen Code mit der angegebenen Datei ausführen, sieht der aktualisierte Inhalt der Datei folgendermaßen aus:

Dies ist ein Beispieltext.
Dies ist eine andere Zeile.
Und noch eine Zeile hier.

Ich hoffe, dieses Tutorial hat dir gefallen!

Viel Spaß beim Programmieren 🙂

Schaue dir auch Substring-Operationen in Python an.

Hat dir dieser Artikel gefallen? Teile ihn mit deinen Freunden!