RTrim
Remove espacos em branco SOMENTE do final da string. Par de LTrim. Util quando voce quer preservar padding esquerdo (numericos zero-pad).
Assinatura: RTrim(cString) -> cString
Retorna: Character
RTrim remove os espacos a direita da string. E o trim mais comum em AdvPL legado porque a maioria dos campos Char vem do banco com padding direito (paddedR ate o tamanho da SX3).
Sintaxe
RTrim(cString) --> cString
Exemplos
RTrim("Joao ") // "Joao"
RTrim(" Joao ") // " Joao" (mantem esquerda)
RTrim("") // ""
RTrim("000123 ") // "000123" (preserva zero-pad esq)
Quando usar
- Limpar campo Char do banco que vem padded a direita (caso classico).
- Concatenacao onde nao quer espacos sobrando:
RTrim(cNome) + " - " + cCodigo. - Numericos com zero-pad esquerdo em string — preservar zeros mas limpar espacos finais.
Caso pratico classico: nome do cliente
// SA1->A1_NOME e definido na SX3 com 50 chars
// Banco grava: "EMPRESA TESTE LTDA" + 32 espacos a direita
cNome := RTrim(SA1->A1_NOME)
// "EMPRESA TESTE LTDA"
// Maioria usa AllTrim que faz o mesmo nesse caso
cNome := AllTrim(SA1->A1_NOME)
Caso pratico: gerar codigo numerico com padding
// Gerar codigo de 6 digitos preservando zeros
nNumero := 42
cCodigo := PadL(cValToChar(nNumero), 6, "0") // "000042"
// Se voce concatena espacos por engano
cCodigo := "000042 "
cFinal := RTrim(cCodigo) // "000042" — zeros preservados
Pegadinhas
- Tab/CR/LF nao removidos — somente caractere espaco (CHR(32)).
- Performance — RTrim em loop apertado tem custo. Em arrays gigantes, cache o resultado.
- Diferenca de comportamento com Trim() em alguns dialetos — em AdvPL,
Trime alias deRTrim. Cuidado se vem de outra linguagem (Python Trim limpa os dois lados).
Padrao recomendado
// 95% dos casos use AllTrim:
cValor := AllTrim(SA1->A1_NOME)
// Use RTrim apenas quando padding esquerdo eh intencional:
cCodPad := RTrim(cCodigoComZerosEsquerda)
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cString | Character | sim | String a processar. |