Introduçao
O principal objetivo desta dica é explicar de maneira simples e rápida a diferença entre os métodos replace e replaceAll da classe String em java.
Diferença entre os métodos
Ambos os métodos tem a função de substituir um conjunto de caracteres por outro conjunto de caracteres, porém a diferença entre eles consiste no fato do método replaceAll utilizar expressão regular (regex) para encontrar o grupo de caracteres, já o replace utiliza somente o grupo em si como filtro.Sintaxe do replace:
string.replace("conteudo_original","conteudo_substituir");Onde:
- conteudo_original - Conjunto de caracteres que será buscado para substituição por conteudo_subsituir.
- conteudo_substituir - Conteudo que fará a substituição do conteudo_original.
Sintaxe do replaceAll:
string.replace("expressao","conteudo_substituir");Onde:
- expressao - Expressão que será utilizado para a substituição por conteudo_subsituir.
- conteudo_substituir - Conteudo que fará a substituição do resultado da busca da expressao.
Exemplo:
Abaixo é possível ver um exemplo utilizando os dois métodos para buscar o conteúdo em questão.
public class Main {
public static void main(String args[]) {
String text = "verdura verde verdinho";
System.out.println("Com replace: "+text.replace("verde", "amarelo"));
System.out.println("Com replaceAll: "+text.replaceAll("verd[iu]", "AMARELO"));
}
}
Saída:
Com replace: verdura amarelo verdinho
Com replaceAll: AMARELOra verde AMARELOnho