Olika Metoder för att Avlägsna Sista Tecknet i en Sträng i Python
Utforska olika tillvägagångssätt för att eliminera det sista tecknet i en sträng med hjälp av Python.
Använda Skivning
Python erbjuder stöd för segmentering med negativa index i kombination med positiv skivning. Negativa index börjar från -1 och fortsätter till -(strängens längd). Vi kommer att utnyttja den negativa skivningen för att selektivt hämta element från slutet av en iterabel.
- Indexet -1 refererar till det sista elementet i en iterabel.
- Indexet -2 ger dig det näst sista elementet i iterabeln.
- Denna logik fortlöper mot det första elementet.
Ett illustrativt exempel:
name="adminvista.com" print(name[-1]) print(name[-len(name)])
Ovanstående kodstycke demonstrerar hur man använder negativ indexering för att hämta det sista respektive första tecknet från strängen.
Hur avlägsnar vi då det sista elementet i strängen med hjälp av skivning? Med bara en kodrad, faktiskt. Vi vet hur man extraherar delsträngar med skivning, så låt oss tillämpa samma princip med negativa index för att radera det sista tecknet i strängen.
- Skiva strängen från början till och med elementet precis före det sista.
buggy_name="GeekflareE" name = buggy_name[:-1] print(name)
Fokusera på den andra raden i koden, där magin sker. Precis som vid traditionell skivning, extraherar vi en delsträng från startindexet till och med det näst sista indexet, eftersom skivningen exkluderar det andra givna indexelementet.
Om du kör ovanstående kod, kommer den att ge ut ”Geekflare”.
Använda rstrip()
Strängmetoden rstrip()
är designad för att ta bort tecken från den högra sidan av en sträng. Det gör den lämplig för att eliminera det sista tecknet i en sträng, allt med en enda kodrad.
- Genom att ge det sista tecknet till
rstrip()
-metoden, returneras en sträng där det sista tecknet är borttaget.
Här är koden:
buggy_name="GeekflareE" name = buggy_name.rstrip(buggy_name[-1]) print(name)
Vi skickar det sista tecknet i strängen till rstrip()
-metoden, vilket tar bort just detta tecken och returnerar en ny sträng utan det. Om du kör koden kommer den skriva ut ”Geekflare”.
Praktiskt Användningsfall – Ta Bort Sista Ordet
Låt oss nu applicera de metoder vi diskuterat på ett konkret exempel.
Antag att vi har en fil med flera rader text och att vi behöver ta bort det sista ordet från varje rad i denna fil.
Följ dessa steg för att skapa programmet:
- Skapa en fil med namnet
random_text.txt
och fyll den med några rader text. - Initiera en variabel,
updated_data
, som en tom sträng. - Öppna filen med hjälp av
with open()
i läs- och skrivläge. - Läs filens innehåll med metoden
readlines()
. - Iterera över varje rad i det lästa innehållet.
- Dela upp textraden i ord med hjälp av metoden
split()
. - Ta bort det sista ordet med någon av de tidigare nämnda metoderna.
- Sätt ihop de återstående orden till en sträng.
- Lägg till den resulterande strängen till
updated_data
.
- Dela upp textraden i ord med hjälp av metoden
- Radera filens nuvarande innehåll genom
seek()
ochtruncate()
. - Skriv den nya, bearbetade datan till filen via
write()
.
Filen random_text.txt
innehåller denna 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.
Här är den kompletta koden:
updated_data="" # öppna filen with open('random_text.txt', 'r+') as file: # läs filinnehållet file_content = file.readlines() # iterera genom innehållet for line in file_content: # ta bort sista ordet updated_line=" ".join(line.split(' ')[:-1]) # lägg till data i variabeln updated_data += f'{updated_line}n' # ta bort den gamla datan file.seek(0) file.truncate() # skriv den nya datan file.write(updated_data)
Om du kör den här koden på ovanstående fil, kommer innehållet i random_text.txt
att uppdateras till:
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 har tyckt att denna genomgång var till hjälp.
Lycka till med kodningen! 🙂
Kolla gärna även upp Substring Operations i Python.
Tyckte du om artikeln? Dela den gärna vidare!