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.