Nézze meg, hogyan távolíthatja el az utolsó karaktert a karakterláncból Pythonban
Tartalomjegyzék
Szeletelés
A Python támogatja a negatív indexszeletelést a pozitív szeletelés mellett. A negatív index -1-től -(iterable_length) értékig kezdődik. A negatív szeletelést használjuk, hogy az elemeket az iterálhatóság végéről kapjuk meg.
- A -1 index az iterálható utolsó elemét kapja meg.
- A -2 index az iterálható 2. utolsó elemet kapja.
- És ez folytatódik az első elemig.
Lássunk egy példát.
name="etoppc.com" print(name[-1]) print(name[-len(name)])
A fenti program negatív indexeléssel nyomtatja ki a karakterlánc utolsó és első karakterét.
Hogyan távolítsuk el az utolsó elemet a karakterláncból szeleteléssel? Ez csak egy kódsor. Tudjuk, hogyan lehet a karakterlánc egy részét szeleteléssel kivonni. Alkalmazzuk ugyanezt a negatív indexszel, hogy eltávolítsuk az utolsó karaktert a karakterláncból.
- Szeletelje fel a karakterláncot az elejétől az utolsó elem előttiig.
buggy_name="GeekflareE" name = buggy_name[:-1] print(name)
Koncentráljunk a fenti kód második sorára. Ez a varázssor a kódban. Hagyományos szeletelésként a kezdő indexből az utolsóig bontja ki a részstringet, mivel a szeletelés figyelmen kívül hagyja a megadott második indexelemet.
A etoppc.com kimenetet kapja, ha futtatja a fenti kódot.
rstrip
Az rstrip string metódus eltávolítja a karaktereket a neki adott karakterlánc jobb oldaláról. Tehát használhatjuk a karakterlánc utolsó elemének eltávolítására. Nem kell többet írnunk egy kódsornál, hogy eltávolítsuk az utolsó karaktert a karakterláncból.
- Adja meg az utolsó elemet a strip metódusnak, ez az utolsó karakter eltávolításával adja vissza a karakterláncot.
Lássuk a kódrészletet.
buggy_name="GeekflareE" name = buggy_name.rstrip(buggy_name[-1]) print(name)
A string utolsó karakterét a strip metódusnak adtuk. Eltávolítja az utolsó karaktert a karakterláncból, és visszaad egy másolatot az utolsó karakter nélkül.
Ha végrehajtod, kiírja a etoppc.com-t a konzolban.
Gyakorlati példa – távolítsa el az utolsó szót
Igen, az előző részekben leírtakat egy gyakorlati példában fogjuk alkalmazni.
Tegyük fel, hogy van egy fájlunk, amely több sornyi szöveget tartalmaz. És el kell távolítanunk az utolsó szót a fájl minden sorából.
A program megírásához kövesse az alábbi lépéseket.
- Hozzon létre egy random_text.txt nevű fájlt, és lapozzon bele néhány sornyi szöveget.
- Inicializáljon egy adatváltozót üres karakterláncként.
- Nyissa meg a fájlt a és nyissa meg olvasási és írási módban.
- Olvassa el a fájl tartalmát a readlines módszerrel.
- Ismételje meg a tartalom minden sorát.
- A szövegsor felosztása a felosztási módszerrel szavakban.
- Távolítsa el az utolsó szót a fenti módszerek egyikével.
- Csatlakoztassa az eredményt egy karakterlánc létrehozásához.
- Az eredményt hozzáfűzi az adatváltozóhoz.
- Távolítsa el az adatokat a fájlból keresési és csonkítási módszerekkel.
- Írja a fájlba a legfrissebb adatokat írási módszerrel.
A fájl a következő adatokat tartalmazza.
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.
Lásd az alábbi kódot.
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)
Ha a fenti kódot végrehajtja az adott fájllal, akkor a fájlban a következő frissített adatok lesznek.
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.
Remélem tetszett az oktatóanyag.
Jó kódolást 🙂
Ellenőrizze a részkarakterlánc-műveleteket is a Pythonban.
Élvezettel olvastad a cikket? Mit szólnál a világgal való megosztáshoz?