Remover o primeiro caractere de string em JavaScript

Neste artigo você vai aprender a como remover o primeiro caractere de string em JavaScript, de uma maneira super simples!

Remover o primeiro caractere de string capa

Fala programador(a), beleza? Bora aprender mais a como trabalhar com strings e também sobre JavaScript!

Para remover um número x de caracteres, inclusive um, podemos utilizar o método substring de JS

Utilizamos ele na própria string, e precisamos informar como argumento quantos caracteres vamos remover

Veja o exemplo a seguir:

const nome = "Matheus"

console.log(nome.substring(1)) // "atheus"

Aqui removemos a primeira letra da string, que era M

Agora basta você aplicar a sua string, que vai funcionar da mesma forma como no caso acima

Note que aumentando o número passado para substring, você vai remover mais caracteres! 🙂

Formação Claude Code
Formação Recomendada

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 120 aulas
  • 4 projetos
  • 9h 45min

Conclusão

Neste artigo você aprendeu a remover o primeiro caractere de string com JavaScript

Utilizamos o método substring, que faz exatamente isso

Precisamos apenas passar o número de caracteres que desejamos remover e pronto!

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!

Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias

O link acima contém um cupom de desconto para os cursos!

E o método slice? Faz a mesma coisa:

O substring resolve, mas quem programa em JS hoje quase sempre escreve com slice

A ideia é a mesma: tu informa a partir de qual posição a nova string começa

const nome = "Matheus"

console.log(nome.slice(1)) // "atheus"

Se você conhece o slice de array, é exatamente o mesmo raciocínio, só que aplicado em texto

Ou seja: os dois funcionam, escolhe o que for mais legível pro teu time 🙂

substring ou slice: qual a diferença de verdade?

Pra remover o primeiro caractere, os dois entregam o mesmo resultado

A diferença aparece quando tu passa número NEGATIVO

const nome = "Matheus"

console.log(nome.slice(-3))     // "eus"
console.log(nome.substring(-3)) // "Matheus"

O slice conta de trás pra frente

Já o substring trata qualquer negativo como zero, então ele simplesmente devolve a string inteira

Tome cuidado! É aqui que mora o bug silencioso: teu código não quebra, ele só devolve o texto sem cortar nada e tu demora pra perceber

A string original NÃO muda:

Esse é o erro clássico de quem tá começando

String em JavaScript é imutável, então nenhum desses métodos altera a variável original

Eles RETORNAM uma string nova

let nome = "Matheus"

nome.slice(1)
console.log(nome) // "Matheus", continua igual!

nome = nome.slice(1)
console.log(nome) // "atheus"

Ou seja: ou tu guarda o retorno em outra variável, ou tu reatribui

Já me ferrei uma vez por causa disso, ficei olhando pro console sem entender por que o corte não acontecia haha

E se eu quiser remover o último caractere?

Mesma família de método, só muda o argumento

const nome = "Matheus"

console.log(nome.slice(0, -1)) // "Matheu"
console.log(nome.slice(1, -1)) // "atheu"

O primeiro número diz onde começa, o segundo onde termina

Na segunda linha a gente tirou o primeiro E o último de uma vez só, legal né? 😀

Removendo o primeiro caractere só quando ele existe:

Na vida real quase nunca é ‘remove sempre’

Geralmente é ‘remove a barra da rota’, ‘remove o zero da esquerda’, ‘remove o arroba do usuário’

Aí vale conferir antes com startsWith:

const rota = "/produtos"

const limpa = rota.startsWith("/") ? rota.slice(1) : rota

console.log(limpa) // "produtos"

E quando pode ter VÁRIOS caracteres repetidos no começo, o replace com regex resolve de uma vez:

const codigo = "000123"

console.log(codigo.replace(/^0+/, "")) // "123"

O ^ diz ‘a partir do início da string’ e o + diz ‘um ou mais’

Bora ver na prática no teu projeto? 🙂

Perguntas frequentes:

Qual é a forma mais simples de remover o primeiro caractere de uma string em JavaScript?

Chamar slice(1) (ou substring(1)) na string: o método devolve uma nova string sem o caractere da posição inicial

Como remover os dois primeiros caracteres?

Mesma lógica, só aumenta o número: texto.slice(2) devolve o texto sem os dois primeiros

substring ou slice, qual usar?

Pra cortar o começo, tanto faz

Se tu precisa contar de trás pra frente com número negativo, usa slice, porque o substring ignora negativo

Por que a minha variável continua igual depois do slice?

Porque string é imutável em JS

O método retorna uma string nova, então tu precisa guardar o retorno: texto = texto.slice(1)

Dá pra remover o primeiro caractere de todos os itens de um array?

Dá sim, com map:

Leia também

Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares