Stuff
Substitui um trecho da string (posicao + quantidade) por outra. Usado pra mascaras, ajustes de campos formatados.
Assinatura: Stuff(cString, nInicio, nQtd, cNovo) -> cString
Retorna: Character
Stuff substitui um pedaco da string. Voce diz a posicao inicial, quantos caracteres remover, e o que colocar no lugar. Pode ser usado pra inserir, apagar ou trocar.
Sintaxe
cFmt := Stuff("12345678901234", 1, 0, "") // sem mudanca
cFmt := Stuff("00000123", 7, 1, "X") // "000001X3"
cFmt := Stuff("AAAA", 2, 2, "BB") // "ABBA"
Aplicacao classica: formatar CPF
User Function FmtCpf(cCpf)
cCpf := PadR(cCpf, 11)
cCpf := Stuff(cCpf, 4, 0, ".")
cCpf := Stuff(cCpf, 8, 0, ".")
cCpf := Stuff(cCpf, 12, 0, "-")
Return cCpf
// "12345678901" -> "123.456.789-01"
Pegadinhas
- nQtd = 0 insere sem remover nada.
- nQtd >= len(string) remove ate o fim.
- Indices 1-base — primeira posicao e 1.
- Para CPF/CNPJ/CEP modernos, prefira
Transformcom mascara:Transform(cCpf, "@R 999.999.999-99").
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cString | Character | sim | String original. |
nInicio | Numeric | sim | Posicao inicial (1-base). |
nQtd | Numeric | sim | Quantidade de caracteres a remover. |
cNovo | Character | sim | String a inserir no lugar. |