Como remover o último caractere de uma string JavaScript? 5 melhores maneiras

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Como remover o último caractere de uma string JavaScript? Guia passo a passo para iniciantes e profissionais



Você já se deparou com uma situação em que precisava remover uma vírgula extra no final de uma string, remover um ponto ou simplesmente "cortar" o último caractere? Esta pergunta é um verdadeiro sucesso no Stack Overflow com centenas de milhares de visualizações. E não é à toa: trabalhar com strings é a base sobre a qual se sustenta 90% do desenvolvimento front-end.



Neste artigo, não vamos apenas dar respostas secas. Vamos analisar 5 maneiras práticas, mostrar as armadilhas e ensinar a escolher a ferramenta certa para cada tarefa. Vamos nessa!



Por que isso é importante? Três cenários da vida real



Antes de mergulhar no código, vamos imaginar situações onde você certamente precisará remover o último caractere de uma string JavaScript:



  • Formatação de listas: Você junta um array em uma string com join(', '), mas no final sobra uma vírgula extra.
  • Processamento de URL: Precisa remover a barra no final do endereço antes de enviar ao servidor.
  • Trabalhando com IDs: De uma string como "item-123-" é necessário remover o último hífen.


Parece familiar? Então vamos analisar os métodos para remover o último caractere em JavaScript.



Método nº1: slice() — o rei da simplicidade e velocidade



Esta é a maneira mais popular e intuitiva. O método slice() retorna um novo array (ou string), copiando elementos a partir de uma posição especificada.



let str = "Olá, mundo!";let result = str.slice(0, -1);console.log(result); // "Olá, mundo"


Como funciona? slice(0, -1) significa: "pegue todos os caracteres, começando do índice 0, e pare 1 caractere antes do final". Índices negativos em JavaScript são a contagem a partir do final da string. Genial e conciso!



Prós e contras do slice():

  • Pró: Funciona tanto com strings quanto com arrays. Não altera a string original.
  • Pró: O método mais rápido em 95% dos casos (de acordo com testes JSperf).
  • Contra: Não é adequado se você precisar remover não o último caractere, mas, digamos, os últimos 3.


Dica de profissional: Use slice() como sua ferramenta principal. É o padrão da indústria.


Método nº2: substring() — um amigo antigo, mas confiável



O método substring() é contemporâneo do JavaScript. Ele funciona de forma semelhante, mas com uma diferença importante: ele não entende índices negativos e simplesmente os transforma em 0.



let str = "JavaScript";// Para remover o último caractere, você precisa saber o comprimentolet result = str.substring(0, str.length - 1);console.log(result); // "JavaScrip"


Viu? É necessário calcular o comprimento da string. Isso é inconveniente, mas historicamente, substring() é frequentemente encontrado em código antigo (legado).



Quando usar substring?

  • Se você precisa de suporte para navegadores muito antigos (IE 8 e inferiores — mas isso é raro).
  • Se você está escrevendo código educacional e quer mostrar explicitamente a lógica de trabalho com índices.


Importante: substring() troca os argumentos de lugar se o primeiro for maior que o segundo. slice() neste caso retorna uma string vazia. Fique atento!



Método nº3: substr() — obsoleto, mas ainda vivo



Sim, substr() é oficialmente considerado obsoleto (deprecated) na especificação ECMAScript. Mas você ainda o encontrará em milhões de linhas de código no GitHub.



let str = "Remover!";let result = str.substr(0, str.length - 1);console.log(result); // "Remover"


A diferença para o substring() é que o segundo argumento é o comprimento da parte a ser extraída, e não o índice final. Confuso? Um pouco.



Vale a pena usar substr() em

Blogs

Book Recommendations