Substituindo partes de uma string - replace e replaceAll
Em JavaScript, você pode substituir partes de uma string usando o método replace()
. Este método recebe dois parâmetros:
- a parte da string que você deseja substituir
- a nova string com a qual você deseja substituí-la
Por exemplo, digamos que temos uma string chamada nome
:
Podemos substituir a letra i
pela letra o
usando o método replace()
:
O método replace()
apenas substitui a primeira instância da string que você deseja substituir. Portanto, se tivermos uma string com várias instâncias da string que queremos substituir, apenas a primeira instância será substituída:
Observe que o método replace()
não substituiu a segunda instância da string que queríamos substituir.
Observe também que o método replace()
diferencia maiúsculas de minúsculas e não modifica a string original. Em vez disso, ele retorna uma nova string com a parte substituída.
Substituindo todas as instâncias de uma string
O método replace()
apenas substitui a primeira instância da string que você deseja substituir. Se você quiser substituir todas as instâncias de uma string, você pode usar o método replaceAll()
. Este método recebe dois parâmetros:
- a parte da string que você deseja substituir
- a nova string com a qual você deseja substituí-la
Existem maneiras mais avançadas de substituir partes de uma string, mas não as abordaremos agora. Vamos abordá-los em uma lição posterior, quando aprendermos sobre Expressões Regulares
.
Desafio de código
Você está trabalhando em um aplicativo de mensagens secretas e precisa implementar uma função que pode converter uma mensagem em uma mensagem secreta substituindo certos caracteres por outros caracteres.
Escreva uma função chamada convertToSecretMessage
que recebe uma string como argumento e retorna uma nova string onde os caracteres 'a', 'e', 'i', 'o' e 'u' são substituídos por '1', ' 2', '3', '4' e '5', respectivamente.
Por exemplo, chamar convertToSecretMessage('hello world')
deve retornar a string "h2ll4 w4rld"
.
Lembre-se de que ele precisa funcionar tanto para letras maiúsculas quanto para minúsculas.