Páginas filhas
  • STRING_replace


Função ADVPL utilizada para realizar a substituição de um conteúdo em um texto por outro, podendo indicar posição inicial e final e também ignorar ou não textos em CAIXA ALTA ou caixa baixa (CASE SENSITIVE).

Sintaxe

_ADVPL_STRING_replace( < cText >, < cFrom >, < cTo >, [ <nInitialPosition> ], [ <nFinalPosition> ], [ <lCaseSensitive> ] ) => CHAR

Parâmetros

Nome

Tipo

Obrigatório?

Descrição

cText

CHAR

Sim

Texto de origem para ter contéudos substituídos.

cFrom

CHAR

Sim

Texto de origem para ter contéudos substituídos. 
(aviso) Não aceita conteúdo NULL.

cTo

CHAR

Sim

Texto de origem para ter contéudos substituídos.

(aviso) Não aceita conteúdo NULL.

nInitialPosition

CHAR

Não

Posição inicial do conteúdo de <cText> a partir da qual deverá considerar as substituições de valores.

(informação) Quando enviar o valor 0, irá considerar automaticamente a posição inicial como 1.

nFinalPosition

CHAR

Não

Posição final do conteúdo de <cText> até onde deverá considerar as substituições de valores.

(informação) Quando enviar o valor 0, irá considerar automaticamente a última posição do conteúdo de <cText>.

(aviso) Quando houver necessidade de informar este parâmetro, o parâmetro <nInitialPosition> também deverá ser informado.

lCaseSensitive

LOGICAL

Não

Indica se deverá considerar na pesquisa de <cFrom> em <cText> quando houver diferença de conteúdo apenas devido a letras maiúsculas (CAIXA ALTA) ou minúsculas (caixa baixa).

TRUE (PADRÃO) - Somente fará substituição quando identificar um conteúdo exatamente igual de <cFrom> em <cText>.

FALSE - Fará substituição de todo conteúdo <cFrom> que encontrar em <cText>, mesmo quando a diferença for apenas devido a letras maiúsculas (CAIXA ALTA) ou minúsculas (caixa baixa).

(aviso) Quando houver necessidade de informar este parâmetro, os parâmetros <nInitialPosition> e <nFinalPosition> também deverão ser informados.

Retorno

Tipo

Descrição

CHAR

Conteúdo <cText> com os valores <cFrom> substituídos por <cTo>, considerando os demais parâmetros da função.

Exemplo

#---------------------------------------#
 FUNCTION STRING_replace_test()
#---------------------------------------#
  DEFINE l_conteudo VARCHAR(1000)

  LET l_conteudo = "Teste de troca de conteúdo de um texto qualquer por outro texto novo."

  #Nao irá substituir valor pois não encontra o texto QUALQUER (em caixa alta)
  LET l_conteudo = _ADVPL_STRING_replace(l_conteudo,'QUALQUER',"original')
  CALL conout("SUBSTITUIÇÃO 1 = "||l_conteudo)

  #Irá substituir valor pois encontra o texto QUALQUER indiferentemente de estar escrito em CAIXA ALTA ou baixa.
  LET l_conteudo = _ADVPL_STRING_replace(l_conteudo,'QUAlquer',"original',0,0,FALSE)  
  CALL conout("SUBSTITUIÇÃO 2 = "||l_conteudo)
 END FUNCTION

Informações

Fontes: string.prw

Disponível a partir do pacote Logix 12.1.2209.

Veja também

STRING_isEqual

STRING_isEmpty