Retorna uma parte especifica da string.

Sintaxe

SubStr( < cText >, < nIndex >, [ nLen ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cText

caractere

Indica a string que será tratada.

X

 

nIndex

numérico

Indica o indice inicial da string <cText>.

X

 

nLen

numérico

Indica o número de caracteres que retornará a partir de <nIndex>.

 

 

Retorno

Nome

Tipo

Descrição

cRet

lógico

Retorna a string após realizar o tratamento.

Observações

  • nIndex inicia em 1.
  • Se nIndex for menor que 0 (zero) ou maior do que o tamanho de cText, a função retornará uma string vazia.
  • Se nLen for menor ou igual a 0 (zero), a função retornará uma string vazia.
  • Se nLen for passado vazio, será apresentado erro de sintaxe na compilação.
  • Se nLen for informado e for nulo (Nil), dará erro de execução, com a mensagem: "argument #2 error, expected N->U".

Exemplos

Exemplo 1
user function substr1()
  Local cTexto := "1234567"
 
  conout( SubStr( cTexto, 1    ) ) // Resultado: "1234567"
  conout( SubStr( cTexto, 1, 5 ) ) // Resultado: "12345"
  conout( SubStr( cTexto, 5    ) ) // Resultado: "567"
  conout( SubStr( cTexto, 5, 2 ) ) // Resultado: "56"
return

Abrangência

Microsiga Protheus 8.11, Protheus 10

  • Sem rótulos