Como substituir caracteres dentro de uma string em Java?

A substituição de caracteres e palavras em uma string em Java pode ser feita com os métodos replace() e replaceAll(), além do uso de expressões regulares para casos mais complexos.

Como substituir caracteres dentro de uma string em Java?

Substituir caracteres ou palavras dentro de uma string é uma tarefa comum em Java, especialmente para limpeza de dados, formatação de textos e validação de entradas. Existem várias abordagens para isso, dependendo da complexidade da substituição.

1. Usando replace()

O método replace() permite substituir caracteres ou sequências de caracteres em uma string.

public class TesteReplace {
    public static void main(String[] args) {
        String texto = "Java é incrível";

        String novoTexto = texto.replace("incrível", "poderoso");
        System.out.println(novoTexto);
    }
}

Saída esperada:

Java é poderoso

Aqui, toda ocorrência da palavra "incrível" foi substituída por "poderoso".

2. Substituindo Caracteres Específicos

Também podemos substituir caracteres individuais:

public class TesteReplaceChar {
    public static void main(String[] args) {
        String texto = "banana";

        String novoTexto = texto.replace('a', 'o');
        System.out.println(novoTexto);
    }
}

Saída esperada:

bonono

3. Usando replaceAll() com Expressões Regulares

Se precisarmos substituir padrões mais complexos, usamos replaceAll(), que permite utilizar expressões regulares.

public class TesteReplaceAll {
    public static void main(String[] args) {
        String texto = "O preço é R$ 1.000,00";

        String novoTexto = texto.replaceAll("\\D", "");
        System.out.println(novoTexto);
    }
}

Saída esperada:

100000

Aqui, \\D representa todos os caracteres que não são números, removendo pontos e vírgulas.

4. Diferença entre replace() e replaceAll()

Método Funcionalidade
replace(old, new) Substitui caracteres ou palavras diretamente, sem regex
replaceAll(regex, new) Usa expressões regulares para substituição avançada

5. Quando Usar Cada Método?

  • Use replace() quando quiser substituir palavras ou caracteres específicos.
  • Use replaceAll() para remover caracteres especiais, formatar números ou lidar com padrões complexos.

Conclusão

A substituição de caracteres e palavras em Java é facilitada pelos métodos replace() e replaceAll(). Para situações mais simples, replace() é suficiente. Já replaceAll() se destaca quando precisamos de expressões regulares para manipulação avançada de strings.

A manipulação de strings, incluindo a substituição de caracteres, é essencial em diversas aplicações. Em processamento de dados, a remoção de caracteres especiais e a padronização de texto são fundamentais para garantir qualidade na entrada de informações. Além disso, frameworks como Spring utilizam expressões regulares para validação e transformação de dados em formulários e APIs. Dominar essas técnicas ajuda no desenvolvimento de sistemas mais robustos e confiáveis.

Algumas aplicações:

  • Padronização de textos e formatação de dados
  • Limpeza de caracteres especiais em entradas de usuário
  • Validação de formulários e dados recebidos via API
  • Remoção de símbolos em valores numéricos

Dicas para quem está começando

  • Use replace() para substituições diretas de caracteres ou palavras
  • Prefira replaceAll() quando precisar de expressões regulares
  • Aprenda os padrões de regex para manipular strings de forma eficiente
  • Teste diferentes substituições antes de aplicá-las em código produtivo
  • Evite modificar a string repetidamente dentro de loops; prefira StringBuilder quando necessário

Contribuições de Rodrigo Farias

Compartilhe este tutorial: Como substituir caracteres dentro de uma string em Java

Compartilhe este tutorial

Continue aprendendo:

Como dividir uma string em partes em Java

A divisão de strings em Java pode ser feita utilizando o método split(), substring() e expressões regulares para diferentes casos de separação de texto.

Tutorial anterior

Como verificar se uma string contém um determinado texto

A verificação de texto dentro de uma string em Java pode ser feita utilizando os métodos contains(), matches() e expressões regulares para buscas mais avançadas.

Próximo tutorial