Remova o Último Caractere em Strings Python: 3 Métodos!

Maneiras Eficazes de Eliminar o Último Caractere de Strings em Python

Explore diferentes abordagens para remover o último caractere de uma string utilizando Python.

Utilizando Fatiamento de Strings

Python oferece um mecanismo de fatiamento que suporta índices negativos, além dos positivos. A contagem com índices negativos começa em -1 e avança até -(comprimento_do_iterável). Este método nos permite acessar elementos do final de uma estrutura de dados iterável.

  • O índice -1 seleciona o último elemento.
  • O índice -2 seleciona o penúltimo elemento.
  • E assim sucessivamente, até o primeiro elemento.

Vejamos um exemplo prático:

name="etechpt.com"
print(name[-1])
print(name[-len(name)])
    

O código acima irá exibir o último e o primeiro caractere da string através da indexação negativa.

Como então podemos remover o último caractere usando fatiamento? É surpreendentemente simples. Sabemos como isolar partes de uma string com fatiamento. Vamos aplicar essa lógica utilizando um índice negativo para alcançar o resultado desejado.

  • Realize o fatiamento da string do início até o elemento imediatamente anterior ao último.
buggy_name="GeekflareE"
name = buggy_name[:-1]
print(name)
    

Observe a segunda linha do código acima, onde a mágica acontece. De maneira similar ao fatiamento comum, ela extrai uma porção da string, indo do índice inicial até o último, mas excluindo o elemento correspondente ao segundo índice especificado.

Ao executar o código, a saída será “Geekflare”.

A Função rstrip()

O método de string rstrip() tem a capacidade de remover caracteres da extremidade direita da string, conforme especificado. Assim, podemos utilizá-lo para eliminar o último caractere de uma string de forma eficiente, sem a necessidade de um código muito extenso.

  • Forneça o último caractere ao método rstrip(), e ele devolverá a string sem esse caractere.

Veja o trecho de código:

buggy_name="GeekflareE"
name = buggy_name.rstrip(buggy_name[-1])
print(name)
    

Passamos o último caractere da string para o método rstrip(). Ele irá remover este caractere e retornará uma cópia da string sem ele.

O console exibirá “Geekflare” ao executar este código.

Aplicação Prática: Removendo a Última Palavra

Vamos aplicar o que aprendemos até agora em um cenário mais prático.

Imagine que você tem um arquivo com várias linhas de texto e deseja remover a última palavra de cada linha.

Siga os passos abaixo para construir o programa:

  • Crie um arquivo chamado random_text.txt e insira algumas linhas de texto nele.
  • Crie uma variável, inicializando-a com uma string vazia, para armazenar os dados atualizados.
  • Abra o arquivo utilizando o construto with open(), em modo leitura e gravação.
  • Leia o conteúdo do arquivo com readlines().
  • Itere por cada linha lida:
    • Divida a linha em palavras com o método split().
    • Remova a última palavra, aplicando um dos métodos discutidos anteriormente.
    • Reúna as palavras restantes para formar uma nova string.
    • Adicione a nova string à variável de dados atualizada.
  • Limpe o conteúdo original do arquivo com seek(0) e truncate().
  • Grave os dados atualizados no arquivo através do método write().

O arquivo random_text.txt conterá os seguintes dados:

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.
        

Veja o código completo:

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)
        

Se executarmos o código acima, o arquivo será atualizado para:

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.
    

Espero que você tenha achado este tutorial útil.

Continue programando! 🙂

Explore também as operações com substrings em Python.

Gostou deste artigo? Compartilhe com seus amigos e colegas!