Strings e seus comandos - REPLACE

Ola Pessoal, tudo bem ?

Nesta serie de posts veremos os principais comandos utilizados com strings, e alguns exemplos dos mesmos.

Começaremos pelo comando REPLACE.

O comando REPLACE sera utilizado quando precisarmos trocar um caractere/palavra ou mesmo todo o valor da variavel, o comando mapeia a string e efetua a troca do valor pelo caractere/palavra/variavel que definiremos no mesmo.

A sintaxe é a seguinte :

REPLACE 'caractere/palavra/variavel a ser substituído' IN VARIAVEL WITH 'caractere/palavra/variável que ira substituir'.

Exemplos Caractere/Palavra:


  - 1º Exemplo trocamos a virgula de "TESTE 1, REPLACE" por um asterisco.
  - 2º Exemplo trocamos a palavra 'REPLACE' por 'TESTE 2'.


Exemplo Variável:


  - 3º Exemplo trocamos o valor da variável 'CAMPO' pelo valor da variável 'CAMPO3'.


Porem o comando REPLACE troca somente o primeiro registro encontrado, caso existam na mesma string duas virgulas ou mesmo duas palavras 'REPLACE', só ira ser substituído o primeiro registro encontrado.

Caso precisemos trocar todos os caracteres/palavras informado que se encontrem na string, podemos utilizar o comando REPLACE ALL OCCURRENCES OF, a sintaxe é a mesma que utilizamos quando usamos apenas REPLACE.


  - 1º Exemplo trocamos todas as virgulas de "REPLACE, REPLACE, REPLACE" por asteriscos.
  - 2º Exemplo trocamos todas as palavras 'REPLACE' por 'ALL OCCURRENCES'.


Um outro caso que pode acontecer é o seguinte, precisamos fazer a troca da palavra "EXERCICIO" na variavel 'CAMPO', porem a mesma contem os seguintes valores ''ExErCiCio exercicio EXERCICIO", por Default o comando ira fazer a troca respeitando o valor que informamos, por exemplo neste caso informamos EXERCICIO, só serão trocadas a palavras EXERCÍCIO em letras maiúsculas, caso precisemos trocar todas as palavras EXERCICIOS, independente de estarem em maiscula/minuscula, neste caso podemos utilizar o comando adicional IGNORING CASE.

Exemplo Default :


  - 1º Exemplo trocamos a palavra 'EXERCICIO'(Maiusc) por 'Trocada'.

Exemplo IGNORING CASE :


  - 2º Exemplo trocamos a palavra 'EXERCICIO'(todas) por 'Trocada'.


Também podemos utilizar junto ao REPLACE outros parâmetros adicionais, eles são, REPLACEMENT LENGTH, REPLACEMENT OFFSET e REPLACEMENT COUNT, que sempre passaram os valores para uma variável do tipo "I".

Sintaxe : REPLACEMENT LENGTH/OFFSET/COUNT 'varialvel tipo I'.

REPLACEMENT LENGHT - Utilizamos para saber o tamanho da palavra pelo qual o caractere/palavra foi trocado. 
Exemplo : Iremos trocar a palavra 'REPLACE' pela palavra 'REPLACEMENT', então teremos na variável o valor correspondente a quantidade de caracteres na palavra 'REPLACEMENT' que é '10'.

REPLACEMENT OFFSET - Utilizamos para saber a posição da primeira/ultima ocorrência encontrada e alterada (pode ser ultima caso seja usado com ALL OCCURRENCES OF e tenha mais de uma ocorrencia encontrada), caso seja uma palavra, saberemos a posição do primeiro caractere da palavra alterada.
Exemplo : Iremos trocar a palavra 'EXERCICIO' em 'ExErCiCio exercicio EXERCICIO', como vimos anteriormente, por Default o comando irá procurar a palavra exatamente como digitamos (Com letras Maiusc), e retornara a posição anterior ao primeiro caractere trocado, no caso '20'.

REPLACEMENT COUNT - Utilizamos para saber a quantidade de ocorrências encontradas e trocadas na string.
Exemplo : Iremos trocar a palavra 'EXERCICIO' por 'Trocada', em 'ExErCiCio exercicio EXERCICIO', como vimos anteriormente, por Default o comando ira procurar a palavra exatamente como digitamos (Com letras Maiusc), e retornara a quantidade ocorrências encontradas e trocadas, no caso '1'.

Exemplo : 


  - 1º Exemplo trocamos a palavra 'EXERCICIO' por 'Trocada' e utilizamos os parâmetros REPLACEMENT OFFSET/LENGTH/COUNT.


Finalizamos !!!

Espero que tenham conseguido acompanhar e entender cada passo que foi passado acima.

Qualquer duvida, sugestão ou mesmo dicas de outras maneiras de se fazer, por favor deixem no campo de comentários abaixo.



Até a próxima !!! ;D

Comentários

Postagens mais visitadas deste blog

Strings e seus comandos - FIND

Tipos de Select em ABAP - 1º