Jak usunąć ostatni znak z ciągu Pythona?

Sprawdź różne sposoby usuwania ostatniego znaku z ciągu w Pythonie

Krajanie na plastry

Python obsługuje ujemne cięcie indeksów wraz z cięciem dodatnim. Indeks ujemny zaczyna się od -1 do -(iterable_length). Użyjemy cięcia ujemnego, aby uzyskać elementy z końca iteracji.

  • Indeks -1 pobiera ostatni element z iterowalnego.
  • Indeks -2 daje ci drugi ostatni element z iterowalnego.
  • I trwa aż do pierwszego elementu.

Zobaczmy przykład.

name="newsblog.pl"
print(name[-1])
print(name[-len(name)])

Powyższy program wypisze ostatnie i pierwsze znaki z ciągu używając indeksowania ujemnego.

Jak usuniemy ostatni element z ciągu za pomocą krojenia? To tylko linijka kodu. Wiemy, jak wydobyć część struny za pomocą slicingu. Zastosujmy to samo z ujemnym indeksem, aby usunąć ostatni znak z ciągu.

  • Pokrój ciąg od początku do ostatniego elementu before.
buggy_name="GeekflareE"
name = buggy_name[:-1]
print(name)

Skupmy się na drugiej linii w powyższym kodzie. To magiczna linia w kodzie. Jako tradycyjny wycinanie, wyodrębnia podciąg od indeksu początkowego do przedostatniego, ponieważ wycinanie ignoruje drugi podany element indeksu.

Otrzymasz newsblog.pl jako dane wyjściowe, jeśli uruchomisz powyższy kod.

pasiasty

Metoda łańcuchowa rstrip usuwa znaki z prawej strony podanego łańcucha. Możemy go więc użyć do usunięcia ostatniego elementu ciągu. Nie musimy pisać więcej niż jeden wiersz kodu, aby usunąć ostatni znak z ciągu.

  • Podaj ostatni element do metody strip, zwróci ona ciąg usuwając ostatni znak.

Zobaczmy fragment kodu.

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

Metodę strip nadaliśmy ostatni znak ciągu. Usuwa ostatni znak z ciągu i zwraca kopię bez ostatniego znaku.

Wydrukuje newsblog.pl w konsoli, jeśli go uruchomisz.

Przykład praktyczny – usuń ostatnie słowo

Tak, zastosujemy to, co mieliśmy w poprzednich sekcjach w praktycznym przykładzie.

Załóżmy, że mamy plik zawierający wiele wierszy tekstu. I musimy usunąć ostatnie słowo z każdej linii w pliku.

Wykonaj poniższe kroki, aby napisać program.

  • Utwórz plik o nazwie random_text.txt i umieść w nim kilka wierszy tekstu.
  • Zainicjuj zmienną danych jako pusty ciąg.
  • Otwórz plik za pomocą metody with i open w trybie odczytu i zapisu.
  • Odczytaj zawartość pliku za pomocą metody readlines.
  • Iteruj po każdym wierszu treści.
    • Podziel wiersz tekstu za pomocą metody dzielenia w słowach.
    • Usuń ostatnie słowo za pomocą jednej z powyższych metod.
    • Połącz wynik, aby utworzyć ciąg.
    • Dołącz wynik do zmiennej data.
  • Usuń dane z pliku za pomocą metod wyszukiwania i przycinania.
  • Zapisz najnowsze dane do pliku metodą write.

Plik zawiera następujące dane.

This is a sample line for testing. LastWord.
This is a sample line for testing. KillingIt.
This is a sample line for testing. RandomWord.
This is a sample line for testing. DeleteIt.
This is a sample line for testing. RemovingIt.

Zobacz kod poniżej.

updated_data=""

# opening the file
with open('random_text.txt', 'r+') as file:
    # read the file content
    file_content = file.readlines()

    # iterate over the content
    for line in file_content:

        # removing last word
        updated_line=" ".join(line.split(' ')[:-1])

        # appending data to the variable
        updated_data += f'{updated_line}n'

    # removing the old data
    file.seek(0)
    file.truncate()

    # writing the new data
    file.write(updated_data)

Jeśli wykonasz powyższy kod z podanym plikiem, to plik będzie miał następujące zaktualizowane dane.

This is a sample line for testing.
This is a sample line for testing.
This is a sample line for testing.
This is a sample line for testing.
This is a sample line for testing.

Mam nadzieję, że podobał Ci się samouczek.

Szczęśliwego kodowania 🙂

Sprawdź także Operacje na podciągach w Pythonie.

Podobał Ci się artykuł? Co powiesz na dzielenie się ze światem?