Otkrijte različite pristupe uklanjanju poslednjeg karaktera iz stringa u Python-u.
Isecanje stringa
Python podržava isecanje sa negativnim indeksima, pored standardnog, pozitivnog isecanja. Negativno indeksiranje kreće od -1, pa do dužine stringa sa negativnim predznakom. Upotrebićemo negativno isecanje da bismo pristupili elementima sa kraja stringa ili bilo koje druge iterabilne strukture.
- Indeks -1 daje vam poslednji element.
- Indeks -2 daje vam pretposlednji element.
- I tako se nastavlja do prvog elementa.
Pogledajmo primer.
name="techblog.co.rs" print(name[-1]) print(name[-len(name)])
Gornji program će ispisati poslednji i prvi karakter iz stringa koristeći negativno indeksiranje.
Kako ukloniti poslednji element iz stringa pomoću isecanja? To je prilično jednostavno. Već znamo kako da izvučemo deo stringa. Hajde da primenimo istu logiku sa negativnim indeksima kako bismo uklonili poslednji znak.
- Isecite string od početka do elementa pre poslednjeg.
buggy_name="GeekflareE" name = buggy_name[:-1] print(name)
Obratite pažnju na drugi red u gornjem kodu. To je ključni deo. Kao i kod standardnog isecanja, izdvaja se podstring od početnog indeksa do poslednjeg, s tim što se drugi indeks ne uključuje u rezultat.
Kao rezultat ćete dobiti „Geekflare“ ako pokrenete ovaj kod.
Metoda rstrip
Metoda `rstrip` uklanja specificirane karaktere sa desne strane stringa. Možemo je koristiti za uklanjanje poslednjeg elementa stringa. Nije potrebno pisati mnogo koda.
- Prosledite poslednji element metodi `rstrip`, i ona će vratiti string bez tog poslednjeg znaka.
Evo primera:
buggy_name="GeekflareE" name = buggy_name.rstrip(buggy_name[-1]) print(name)
Metodi `rstrip` smo prosledili poslednji karakter stringa. Ona uklanja taj karakter i vraća kopiju stringa bez njega.
Ako izvršite ovaj kod, u konzoli će se ispisati „Geekflare“.
Praktičan primer – uklanjanje poslednje reči
Sada ćemo primeniti ove metode na praktičnom primeru.
Recimo da imamo datoteku koja sadrži više redova teksta. Želimo da uklonimo poslednju reč iz svakog reda.
Pratite korake ispod:
- Napravite datoteku `random_text.txt` i dodajte nekoliko redova teksta.
- Inicijalizujte promenljivu `updated_data` kao prazan string.
- Otvorite datoteku pomoću `with open` u režimu čitanja i pisanja.
- Pročitajte sadržaj datoteke koristeći `readlines`.
- Iterirajte kroz svaki red sadržaja:
- Podelite red teksta na reči pomoću metode `split`.
- Uklonite poslednju reč koristeći jednu od gore navedenih metoda.
- Spojite reči da biste formirali novi string.
- Dodajte rezultat promenljivoj `updated_data`.
- Uklonite stari sadržaj iz datoteke pomoću metoda `seek` i `truncate`.
- Upišite novi sadržaj u datoteku koristeći metodu `write`.
Datoteka sadrži sledeće podatke:
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.
Pogledajte kod ispod:
updated_data="" # Otvaranje datoteke with open('random_text.txt', 'r+') as file: # Čitanje sadržaja datoteke file_content = file.readlines() # Iteracija kroz sadržaj for line in file_content: # Uklanjanje poslednje reči updated_line=" ".join(line.split(' ')[:-1]) # Dodavanje podataka u promenljivu updated_data += f'{updated_line}n' # Uklanjanje starih podataka file.seek(0) file.truncate() # Upisivanje novih podataka file.write(updated_data)
Ako izvršite gornji kod sa datom datotekom, datoteka će sadržati sledeće ažurirane podatke:
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.
Nadam se da ste uživali u ovom tutorijalu.
Srećno kodiranje! 🙂
Takođe pogledajte Operacije podstringa u Python-u.
Da li vam se svideo ovaj članak? Podelite ga sa drugima!