Mostrando postagens com marcador replace. Mostrar todas as postagens
Mostrando postagens com marcador replace. Mostrar todas as postagens

segunda-feira, 29 de fevereiro de 2016

Diferença entre replaceAll e replace na classe String em java

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

sexta-feira, 14 de junho de 2013

Manipulando retorno de queries SQL: REPLACE

Introdução


O principal objetivo deste post é explicar como se pode manipular o resultado de um select utilizando o comando REPLACE.
A finalidade do REPLACE é alterar o resultado de um determinada query para um devido fim.
Neste exemplo foi utilizado o banco de dados firebird.

Sintaxe:

...
REPLACE(STRING,'OLD_STRING','NEW_STRING');
...

Onde:


  • STRING - String a ser alterada.
  • OLD_STRING - Trecho da STRING contida no STRING a ser alterada ou substituida.
  • NEW_STRING - Trecho que substituirá o valor do OLD_STRING

Montando ambiente de teste

Para testarmos neste post iremos criar uma tela simples chamada PESSOA que guarda algumas informações
pertinentes a uma determinada pessoa (DATA_NASCIMENTO, nome, numero de filhos)

CREATE TABLE PESSOAS
(
    PES_ID INTEGER PRIMARY KEY,
    PES_DATA_NASCIMENTO DATE,
    PES_NUMERO_FILHOS INT,
    PES_NOME VARCHAR(48)
);



Após criar uma tabela será necessário popula-la.

INSERT INTO PESSOAS VALUES(1,'1988-12-31',3,'MARCOS');
INSERT INTO PESSOAS VALUES(2,'1982-03-31',5,'MARIO');
INSERT INTO PESSOAS VALUES(3,'1997-10-3',4,'JULHO');
INSERT INTO PESSOAS VALUES(4,'1991-11-12',2,'ROBERTO');
INSERT INTO PESSOAS VALUES(5,'1989-12-15',1,'FERNANDO');



Agora podemos iniciar o post de vez.


SELECT 
  
REPLACE(PES_DATA_NASCIMENTO,'-','/') AS DATA_NOVO_FORMATO,
PES_DATA_NASCIMENTO AS DATA_FORMATO_NORMAL

FROM
  PESSOAS



Como poderá ser visto no resultado desta query no item DATA_NOVO_FORMATO os locais onde existe o simbolo - será substituido por /.



Figura 1: Resultado da execução da query.



Conclusão


Como foi visto ao longo do do post a utilização do comando REPLACE é muito simples e pode ajudar muito quando é necessário formatar o resultado de uma query.