Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNçãOPublicado

At

At( <cSearch>, <cString> ) --> nPosition

Retorna a primeira posição de uma sequência de caracteres dentro de outra string.

StringsPesquisaTextoLocalizaçãoFunções essenciais
01 · VISÃO GERAL

Visão geral

At() localiza a primeira ocorrência de um caractere ou trecho de texto dentro de uma string maior. O retorno é a posição inicial encontrada, usando contagem iniciada em 1. Quando a sequência não é encontrada, o retorno é 0. É uma função útil para validar separadores, extrair partes de textos estruturados e identificar se determinado marcador existe antes de aplicar SubStr().

02 · SINTAXE

Sintaxe

At( <cSearch>, <cString> ) --> nPosition

Parâmetros

cSearch
CaractereObrigatório

Caractere ou sequência de caracteres que será procurada.

cString
CaractereObrigatório

Texto onde a busca será realizada.

03 · EXEMPLO PRÁTICO

Localizando separador de e-mail

User Function ExAtEmail()
    Local cEmail := "usuario@empresa.com"
    Local nPosicao := At("@", cEmail)

    If nPosicao > 0
        MsgInfo("Usuário: " + SubStr(cEmail, 1, nPosicao - 1))
    Else
        MsgStop("E-mail sem separador @.")
    EndIf
Return
Resultado esperado

A posição do @ permite separar a parte do usuário antes do domínio.

BOAS PRÁTICAS
  • Use At() quando precisar da primeira ocorrência de um separador ou marcador.
  • Combine com SubStr() para extrair a parte anterior ou posterior ao texto encontrado.
  • Para localizar a última ocorrência, use Rat().
  • Teste o retorno maior que zero antes de usar a posição em cálculos de SubStr().
ARMADILHAS COMUNS
  • O índice retornado começa em 1, não em 0 como em muitas linguagens modernas.
  • Quando não encontra a sequência, At() retorna 0; usar esse valor diretamente em SubStr() tende a gerar regra incorreta.
  • A busca é literal. Se houver variação de maiúsculas e minúsculas, normalize os textos com Upper() ou Lower().
  • Para textos vindos de campos Character do Protheus, considere AllTrim() quando espaços à direita puderem interferir na regra.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. At. TOTVSTEC / TDN. Referência oficial da função de localização da primeira ocorrência em string.
  2. Programação em ADVPL Completo. Documentação oficial histórica de treinamento, seção 4.5.4, p. 45-50. Conteúdo resumido, revisado e exemplos adaptados.
Situação
Publicado
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha