Tempo de leitura: 2 minutos
A função SubStr retorna parte do conteúdo de uma string especificada, de acordo com a posição inicial deste conteúdo na string e a quantidade de caracteres que deverá ser retornada a partir daquele ponto(inclusive). Ela é também uma das funções de manipulação de string em ADVPL.
Sintaxe:
SubStr(cTexto,nPos,nQtd)
Parâmetro(s):
Retorno:
Observações:
- nPos inicia em 1;
- Se nPos for menor que 0(zero) ou maior do que o tamanho de cTexto, a função retornará uma string vazia;
- Se nQtd for menor ou igual a 0(zero), a função retornará uma string vazia;
- Se nQtd for passado vazia, será apresentado erro de sintaxe na compilação;
- Se nQtd for informado e for nula(Nil), dará erro de execução, com a mensagem: “argument #2 error, expected N->U”.
Exemplo de SubStr em ADVPL:
#include 'protheus.ch'
/*{Protheus.doc} User Function fSubStr
(Essa função tem por finalidade mostrar a função de Manipulação de String SubStr em ADVPL)
@type Function
@author Adilio Costa
@since 24/11/2023
@version 1.0
@?Inscreva-se no Blog ProtheusAdvpl:
https://www.protheusadvpl.com.br
@?Inscreva-se no Canal ProtheusAdvpl:
https://www.youtube.com/protheusadvpl
@?Siga-nos no Instagram:
https://www.instagram.com/protheusadvpl
@?Conheça os Cursos e Formações do ProtheusAdvpl:
https://cursos-e-formacoes-protheusadvpl.gr-site.com/
|Se esse conteúdo foi útil pra você nos ajude divulgando
ele e nossas redes sociais!!|
*/
User Function fSubStr()
Local cTexto := "Blog ProtheusAdvpl"
Local nPos := 6
Local nQtd := 8
Local cParteStr := ""
cParteStr := SubStr(cTexto,nPos,nQtd)
MsgInfo("Parte do Texto '"+cTexto+"':"+cParteStr,"Função SubStr")
Return

No exemplo acima nós utilizamos a função SubStr para obter parte do texto “Blog ProtheusAdvpl”, onde passamos para à função que retorne a partir da posição 6(nPos=6) 8 caracteres(nQtd=8), então a posição 6 é a letra “P” e retornando 8 caracteres temos a palavra “Protheus”.
É isso aí, finalizamos mais um post aqui no Blog ProtheusAdvpl. Caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br, até um próximo post, grande abraço e fica com Deus.
Link(s) de referência(s):