Jak odstranit poslední znak z řetězce Python?

Podívejte se na různé způsoby, jak odstranit poslední znak z řetězce v Pythonu

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.

  Jak změnit velikost šablon aplikace PowerPoint

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.

  Průvodce odblokováním vaší aktivity

Ř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.

  Oprava nástroje GIMP Paintbrush Tool nefunguje

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?