Removendo espaços vazios de uma string (Char 32, 160 e 9) | Ti Responde 0241

No vídeo de hoje, vamos demonstrar em como remover espaços vazios de uma string.

A dúvida de hoje, nos perguntaram, que mesmo dando um StrTran em espaço vazio a string continua apresentando espaços.

 

Pensando nisso, montamos um exemplo, onde vai ser demonstrado que existe diferença entre os caracteres 32, 160 e 9, e como podemos remover os 3 usando StrTran.

 

Segue abaixo o vídeo exemplificando:

E abaixo o código fonte desenvolvido:

//Bibliotecas
#Include "tlpp-core.th"
#Include "TOTVS.ch"

//Declaração da namespace
Namespace custom.terminal.youtube
    
/*/{Protheus.doc} User Function video0241
Exemplo de retirar espaços vazios de uma string
@type Function
@author Atilio
@since 28/08/2025
@example custom.terminal.youtube.u_video0241()
@obs Se quiser simular uma gravação: MemoWrite("C:\temp\teste.txt", Chr(160) + "|" + Chr(32) + "|" + Chr(9))
/*/

User Function video0241()
    Local aArea     := FWGetArea() As Array
    Local cText     := ""          As Character
    Local cTextNew  := ""          As Character
    
    //Monta o texto
    cText := "O rato roeu a roupa do Rei de roma, a rainha com raiva resolveu remendar. Num ninho de mafagafos,	cinco mafagafinhos há! Quem os desmafagafizá-los,	um bom desmafagafizador será."

    //Teste 1 - Remove os espaços vazios e mostra a mensagem
    cTextNew := StrTran(cText, " ", "")
    ShowLog(cTextNew)

    //Teste 2 - Remove os espaços vazios, inclusive de outros caracteres
    cTextNew := StrTran(cText, " ",      "") // Char 32 - Espaço comum
    cTextNew := StrTran(cTextNew, Chr(160), "") // Char 160 - Espaço incomum
    cTextNew := StrTran(cTextNew, Chr(9),   "") // Char 9 - Tab
    ShowLog(cTextNew)

    FWRestArea(aArea)
Return

Bom pessoal, por hoje é só.

 

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação