Podívejte se na různé způsoby, jak odstranit poslední znak z řetězce v Pythonu
Table of Contents
Krájení
Python podporuje dělení negativního indexu spolu s pozitivním dělením. Záporný index začíná od -1 do -(iterable_length). K získání prvků z konce iterovatelného použijeme záporné krájení.
- Index -1 vám dá poslední prvek z iterovatelného.
- Index -2 vám dá druhý poslední prvek z iterovatelného.
- A pokračuje až do prvního prvku.
Podívejme se na příklad.
name="etechblog.cz" print(name[-1]) print(name[-len(name)])
Výše uvedený program vytiskne poslední a první znaky z řetězce pomocí negativního indexování.
Jak odstraníme poslední prvek z řetězce pomocí krájení? Je to jen řádek kódu. Víme, jak extrahovat část provázku pomocí krájení. Aplikujme totéž se záporným indexem k odstranění posledního znaku z řetězce.
- Rozdělte řetězec od začátku k předposlednímu prvku.
buggy_name="GeekflareE" name = buggy_name[:-1] print(name)
Zaměřme se na druhý řádek výše uvedeného kódu. To je ta magická čára v kódu. Jako tradiční krájení extrahuje podřetězec od počátečního indexu po předposlední, protože dělení ignoruje druhý daný prvek indexu.
Získáte etechblog.cz jako výstup, pokud spustíte výše uvedený kód.
rstrip
Řetězcová metoda rstrip odstraní znaky z pravé strany řetězce, který je jí přidělen. Můžeme jej tedy použít k odstranění posledního prvku řetězce. K odstranění posledního znaku z řetězce nemusíme psát více než řádek kódu.
- Dejte poslední prvek metodě strip, vrátí řetězec odstraněním posledního znaku.
Podívejme se na fragment kódu.
buggy_name="GeekflareE" name = buggy_name.rstrip(buggy_name[-1]) print(name)
Metodě strip jsme dali poslední znak řetězce. Odebere poslední znak z řetězce a vrátí kopii bez posledního znaku.
Pokud jej spustíte, vytiskne etechblog.cz v konzole.
Praktický příklad – odstraňte poslední slovo
Ano, to, co jsme měli v předchozích částech, použijeme na praktickém příkladu.
Řekněme, že máme soubor, který obsahuje více řádků textu. A musíme odstranit poslední slovo z každého řádku v souboru.
Při psaní programu postupujte podle níže uvedených kroků.
- Vytvořte soubor s názvem random_text.txt a nalistujte v něm několik řádků textu.
- Inicializujte datovou proměnnou jako prázdný řetězec.
- Otevřete soubor pomocí metody with a open v režimu čtení a zápisu.
- Přečtěte si obsah souboru pomocí metody readlines.
- Iterujte přes každý řádek obsahu.
- Rozdělte řádek textu pomocí metody rozdělení ve slovech.
- Odstraňte poslední slovo pomocí jedné z výše uvedených metod.
- Spojte výsledek a vytvořte řetězec.
- Připojte výsledek k proměnné data.
- Odeberte data ze souboru pomocí metod vyhledávání a zkrácení.
- Zapište nejnovější data do souboru pomocí metody zápisu.
Soubor obsahuje následující údaje.
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.
Viz kód níže.
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)
Pokud výše uvedený kód spustíte s daným souborem, bude mít soubor následující aktualizovaná 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.
Doufám, že se vám tutoriál líbil.
Veselé kódování 🙂
Zkontrolujte také operace podřetězců v Pythonu.
Užili jste si čtení článku? Co takhle sdílet se světem?