Sehen Sie sich verschiedene Möglichkeiten an, das letzte Zeichen aus einer Zeichenkette in Python zu entfernen

Slicing

Python unterstützt neben dem Slicing mit positivem Index auch das Slicing mit negativem Index. Ein negativer Index beginnt bei -1 bis -(iterable_length). Wir werden das negative Slicing verwenden, um die Elemente vom Ende einer Iterable zu erhalten.

  • Mit dem Index -1 erhalten Sie das letzte Element der Iterationskette.
  • Mit dem Index -2 erhalten Sie das zweitletzte Element der Iterable.
  • Und so geht es weiter bis zum ersten Element.

Lassen Sie uns ein Beispiel sehen.

name = 'Geekflare'
print(name[-1])
drucken(name[-len(name)])

Das obige Programm druckt das letzte und das erste Zeichen der Zeichenkette mit negativer Indizierung.

Wie entfernen wir das letzte Element aus der Zeichenkette mithilfe von Slicing? Es ist nur eine Zeile Code. Wir wissen, wie wir einen Teil der Zeichenkette mit Hilfe von Slicing extrahieren können. Lassen Sie uns das Gleiche mit einem negativen Index anwenden, um das letzte Zeichen aus der Zeichenfolge zu entfernen.

  • Schneiden Sie die Zeichenfolge vom Anfang bis zum letzten vorigen Element.
buggy_name = 'GeekflareE'
name = fehlerhafter_name[:-1]
print(name)

Konzentrieren wir uns auf die zweite Zeile im obigen Code. Das ist die magische Zeile des Codes. Wie bei einem herkömmlichen Slicing wird die Teilzeichenkette vom Startindex bis zum vorletzten Index extrahiert, da das Slicing das zweite angegebene Indexelement ignoriert.

Sie erhalten Geekflare als Ausgabe, wenn Sie den obigen Code ausführen.

rstrip

Die String-Methode rstrip entfernt die Zeichen von der rechten Seite des übergebenen Strings. Wir können sie also verwenden, um das letzte Element des Strings zu entfernen. Wir müssen nicht mehr als eine Zeile Code schreiben, um das letzte Zeichen aus der Zeichenkette zu entfernen.

  • Übergeben Sie das letzte Element an die strip-Methode und sie wird die Zeichenkette zurückgeben, indem sie das letzte Zeichen entfernt.

Sehen wir uns den Codeschnipsel an.

buggy_name = 'GeekflareE'
name = buggy_name.rstrip(buggy_name[-1])
print(name)

Wir haben das letzte Zeichen der Zeichenkette an die strip-Methode übergeben. Sie entfernt das letzte Zeichen aus der Zeichenkette und gibt eine Kopie ohne das letzte Zeichen zurück.

Wenn Sie die Methode ausführen, wird Geekflare in der Konsole ausgegeben.

Praktisches Beispiel – Entfernen des letzten Worts

Ja, wir werden das, was wir in den vorherigen Abschnitten gelernt haben, in einem praktischen Beispiel anwenden.

Nehmen wir an, wir haben eine Datei, die mehrere Textzeilen enthält. Und wir müssen das letzte Wort aus jeder Zeile der Datei entfernen.

Führen Sie die folgenden Schritte aus, um das Programm zu schreiben.

  • Erstellen Sie eine Datei mit dem Namen random_text.txt und fügen Sie darin einige Textzeilen ein.
  • Initialisieren Sie eine Datenvariable mit einem leeren String.
  • Öffnen Sie die Datei mit der Methode with und open im Lese- und Schreibmodus.
  • Lesen Sie den Inhalt der Datei mit der Methode readlines .
  • Iterieren Sie über jede Zeile des Inhalts.
    • Teilen Sie die Textzeile mit der Methode split in words auf.
    • Entfernen Sie das letzte Wort mit einer der oben genannten Methoden.
    • Verbinden Sie das Ergebnis zu einem String.
    • Hängen Sie das Ergebnis an die Datenvariable an.
  • Entfernen Sie die Daten mit den Methoden seek und truncate aus der Datei.
  • Schreiben Sie die neuesten Daten mit der Methode write in die Datei.

Die Datei enthält die folgenden Daten.

Dies ist eine Beispielzeile zum Testen. LetztesWort.
Dies ist eine Beispielzeile zum Testen. TötenIt.
Dies ist eine Beispielzeile zum Testen. ZufälligesWort.
Dies ist eine Beispielzeile zum Testen. LöschenIt.
Dies ist eine Beispielzeile zum Testen. EntferneIt.

Siehe den Code unten.

aktualisierte_Daten = ''

# Öffnen der Datei
with open('random_text.txt', 'r ') as file:
    # Lesen Sie den Inhalt der Datei
    datei_inhalt = datei.readlines()

    # Iterieren Sie über den Inhalt
    for line in datei_inhalt:

        # letztes Wort entfernen
        updated_line = ' '.join(line.split(' ')[:-1])

        # Daten an die Variable anhängen
        updated_data = f'{updated_line}\n'

    # Entfernen der alten Daten
    file.seek(0)
    file.truncate()

    # Schreiben der neuen Daten
    file.write(aktualisierte_Daten)

Wenn Sie den obigen Code mit der angegebenen Datei ausführen, wird die Datei die folgenden aktualisierten Daten enthalten.

Dies ist eine Beispielzeile zum Testen.
Dies ist eine Beispielzeile zum Testen.
Dies ist eine Beispielzeile zum Testen.
Dies ist eine Beispielzeile zum Testen.
Dies ist eine Beispielzeile zum Testen.

Wir hoffen, dass Ihnen das Tutorial gefallen hat.

Viel Spaß beim Programmieren 🙂

Sehen Sie sich auch Substring Operations in Python an.