Árvore de páginas

Busca por um padrão em uma determinada string e atribui um novo texto depois de sua primeira ocorrência

Sintaxe


insertAfter( < @cStringExp >, < cValue >, [ nCount ], [ lReverse ] )

Parâmetros

NomeTipoDescriçãoObrigatórioReferênciaObservações
cStringExp
String

String que contém o texto para realização de busca

XX
cValueStringString que contém o valor que será inserido depois de sua ocorrênciaX

nCountInteiroParâmetro opcional, numérico que contém o número de ocorrências que serão inseridas


lReverseLógicoParâmetro opcional, define se a busca será feita da esquerda para direita


Retorno

NomeTipoDescriçãoObservações
lRet
Lógico

Indica se a inserção foi executada com sucesso.

A nova string é devolvida em cStringExp. Esse parâmetro deve ser passado por referência.

Observações

Exemplos

Exemplo Construtor
Function u_testInsertAfter()
  Local cText     := "Meu 111.222.333-44"
  Local cValue    := " eh CPF."
  Local lOk       := .F.
  Local oRegex

  oRegex  := tlpp.regex.Regex():New("[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}")

  if (valtype(oRegex) == 'O')
    lOk := oRegex:insertAfter(@cText,cValue)

    if (lOk)
      conout(cText) //Meu 111.222.333-44 eh CPF.
    Else
      conout(oRegex:getError())
    endif

    // --------- Testes com nCount
    cText   := "O primeiro 111.222.333-44, o segundo 222.333.111-66 e o terceiro 444.333.111-77"
    lOk     := oRegex:insertAfter(@cText,cValue, 1)

    if (lOk)
      conout (cText) //O primeiro 111.222.333-44 eh CPF, o segundo 222.333.111-66 e o terceiro 444.333.111-77
    Else
      conout(oRegex:getError())
    endif

    cText   := "O primeiro 111.222.333-44, o segundo 222.333.111-66 e o terceiro 444.333.111-77"
    lOk     := oRegex:insertAfter(@cText,cValue, 2)

    if (lOk)
      conout(cText) //O primeiro 111.222.333-44 eh CPF, o segundo 222.333.111-66 eh CPF e o terceiro 444.333.111-77
    Else
      conout(oRegex:getError())
    endif

    // --------- Testes com lReverse
    cText   := "O primeiro 111.222.333-44, o segundo 222.333.111-66 e o terceiro 444.333.111-77"
    lOk     := oRegex:insertAfter(@cText,cValue, 1, .T.)

    if (lOk)
      conout(cText) //O primeiro 111.222.333-44, o segundo 222.333.111-66 e o terceiro 444.333.111-77 eh CPF
    Else
      conout(oRegex:getError())
    endif

    cText   := "O primeiro 111.222.333-44, o segundo 222.333.111-66 e o terceiro 444.333.111-77"
    lOk     := oRegex:insertAfter(@cText,cValue, 2, .T.)

    if (lOk)
      conout(cText) //O primeiro 111.222.333-44, o segundo 222.333.111-66 eh CPF e o terceiro 444.333.111-77 eh CPF
    Else
      conout(oRegex:getError())
    endif
  Else
    conout(oRegex:getError())
  endif
Return .T.

Veja também

insertBefore

  • Sem rótulos