Busca por um padrão em uma determinada string e atribui um novo texto antes de sua primeira ocorrência
Sintaxe
insertBefore( < @cStringExp >, < cValue >, [ nCount ], [ lReverse ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência | Observações |
---|---|---|---|---|---|
cStringExp | String | String que contém o texto para realização de busca | X | X | |
cValue | String | String que contém o valor que será inserido antes de sua ocorrência | X | ||
nCount | Inteiro | Parâmetro opcional, numérico que contém o número de ocorrências que serão inseridas | |||
lReverse | Lógico | Parâmetro opcional, define se a busca será feita da esquerda para direita |
Retorno
Nome | Tipo | Descrição | Observaçõ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_testInsertBefore() Local cText := "Meu 111.222.333-44" Local cValue := "CPF eh 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:insertBefore(@cText,cValue) if (lOk) conout(cText) //Meu CPF eh 111.222.333-44 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:insertBefore(@cText,cValue, 1) if (lOk) conout (cText) //O primeiro CPF eh 111.222.333-44, 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:insertBefore(@cText,cValue, 2) if (lOk) conout (cText) //O primeiro CPF eh 111.222.333-44, o segundo CPF eh 222.333.111-66 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:insertBefore(@cText,cValue, 1, .T.) if (lOk) conout (cText) //O primeiro 111.222.333-44, o segundo 222.333.111-66 e o terceiro CPF eh 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:insertBefore(@cText,cValue, 2, .T.) if (lOk) conout (cText) //O primeiro 111.222.333-44, o segundo CPF eh 222.333.111-66 e o terceiro CPF eh 444.333.111-77 Else conout(oRegex:getError()) endif Else conout(oRegex:getError()) endif Return .T.
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas