At

Retorna a posicao da primeira ocorrencia de cBusca dentro de cString. Zero se nao encontrar. Usado em parsing simples.

Assinatura: At(cBusca, cString) -> nPos

Retorna: Numeric

At e a funcao classica pra encontrar uma substring dentro de outra. Retorna posicao 1-base ou 0 se nao achar. Sem regex, sem nada — apenas busca literal exata.

Sintaxe

nPos := At("@", cEmail)
If nPos > 0
    cUser   := SubStr(cEmail, 1, nPos - 1)
    cDomain := SubStr(cEmail, nPos + 1)
EndIf

Variacoes

FuncaoO que faz
At(cBusca, cStr)Primeira ocorrencia, 1-base
RAt(cBusca, cStr)Ultima ocorrencia (R = right/reverse)
AtNum(cBusca, cStr, nN)N-esima ocorrencia

Pegadinhas

Padrao split simples

// Parse CSV simples (sem aspas)
nPos := At(";", cLinha)
While nPos > 0
    aAdd(aCampos, SubStr(cLinha, 1, nPos - 1))
    cLinha := SubStr(cLinha, nPos + 1)
    nPos := At(";", cLinha)
EndDo
aAdd(aCampos, cLinha)  // ultimo campo

Parâmetros

NomeTipoObrigatórioDescrição
cBuscaCharactersimString a procurar.
cStringCharactersimString onde procurar.

Veja também