Hur tar man bort sista tecken från Python String?

Kolla in olika sätt att ta bort det sista tecknet från strängen i Python

Skiva

Python stöder segmentering med negativt index tillsammans med positiv skärning. Negativt index börjar från -1 till -(iterable_length). Vi kommer att använda den negativa skivningen för att få elementen från slutet av en iterabel.

  • Indexet -1 ger dig det sista elementet från iterable.
  • Indexet -2 ger dig det 2:a sista elementet från den iterable.
  • Och det fortsätter till det första elementet.

Låt oss se ett exempel.

name="adminvista.com"
print(name[-1])
print(name[-len(name)])

Ovanstående program kommer att skriva ut de sista och första tecknen från strängen med negativ indexering.

Hur tar vi bort det sista elementet från strängen genom att skära? Det är bara en kodrad. Vi vet hur man extraherar en del av snöret med hjälp av skivning. Låt oss tillämpa samma sak med ett negativt index för att ta bort det sista tecknet från strängen.

  • Skiva snöret från början till det sista före elementet.
buggy_name="GeekflareE"
name = buggy_name[:-1]
print(name)

Låt oss fokusera på den andra raden i ovanstående kod. Det är den magiska linjen i koden. Som en traditionell skivning extraherar den delsträngen från startindexet till sista men en eftersom skivningen ignorerar det andra indexelementet som ges.

Du kommer att få adminvista.com som utdata om du kör ovanstående kod.

rstrip

Strängmetoden rstrip tar bort tecknen från höger sida av strängen som ges till den. Så vi kan använda den för att ta bort det sista elementet i strängen. Vi behöver inte skriva mer än en rad kod för att ta bort det sista tecknet från strängen.

  • Ge det sista elementet till stripmetoden, den kommer att returnera strängen genom att ta bort det sista tecknet.

Låt oss se kodavsnittet.

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

Vi har gett det sista tecknet i strängen till stripmetoden. Det tar bort det sista tecknet från strängen och returnerar en kopia utan det sista tecknet.

Det kommer att skriva ut adminvista.com i konsolen, om du kör det.

Praktiskt exempel – ta bort det sista ordet

Ja, vi kommer att tillämpa det vi har i de föregående avsnitten i ett praktiskt exempel.

Låt oss säga att vi har en fil som innehåller flera rader text. Och vi måste ta bort det sista ordet från varje rad i filen.

Följ stegen nedan för att skriva programmet.

  • Skapa en fil som heter random_text.txt och bläddra några rader text i den.
  • Initiera en datavariabel som en tom sträng.
  • Öppna filen med med och öppna metoden i läs- och skrivläge.
  • Läs innehållet i filen med hjälp av readlines-metoden.
  • Iterera över varje rad i innehållet.
    • Dela textraden med hjälp av splitmetoden i ord.
    • Ta bort det sista ordet med någon av ovanstående metoder.
    • Förena resultatet för att bilda en sträng.
    • Lägg till resultatet till datavariabeln.
  • Ta bort data från filen med hjälp av sök- och trunkeringsmetoder.
  • Skriv den senaste informationen till filen med skrivmetoden.

Filen innehåller följande data.

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.

Se koden nedan.

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)

Om du kör ovanstående kod med den givna filen kommer filen att ha följande uppdaterade data.

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.

Hoppas du tyckte om handledningen.

Glad kodning 🙂

Kontrollera även Substring Operations i Python.

Gillade du att läsa artikeln? Vad sägs om att dela med världen?