PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 24 → Remove accents
Remove accents
Débuté par adrianoboller, 18 nov. 2014 13:44 - 3 réponses
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 18 novembre 2014 - 13:44
Procedure WS_RemoveAcentos(LOCAL Texto )

ChangeCharset(charsetOccidental) // SEM ACENTO

nTamanho is int = Length(Texto)
Texto = Replace(Texto,CRLF,"")
Texto = Replace(Texto,TAB," ")
Texto = Replace(Texto,ESC,"")

Texto = Replace(Texto,"A£","a")
Texto = Replace(Texto,"ã","a")
Texto = Replace(Texto,"£","")
Texto = Replace(Texto,"á","a")
Texto = Replace(Texto,"é","e")
Texto = Replace(Texto,"í","i")
Texto = Replace(Texto,"ó","o")
Texto = Replace(Texto,"ú","u")// adicionado por celio
Texto = Replace(Texto,"Á","A")//Á
Texto = Replace(Texto,"A","A")//Á
Texto = Replace(Texto,"É","E") //É
Texto = Replace(Texto,"Í","I") //Í
Texto = Replace(Texto, "Ó","O")//Ó
Texto = Replace(Texto, "Ú","U")//Ú

Texto = Replace(Texto,"Â","A") // Â
Texto = Replace(Texto,"Ô","O") // Ô
Texto = Replace(Texto,"A•","O")
Texto = Replace(Texto,"Õ","O")
Texto = Replace(Texto,"¡","")
Texto = Replace(Texto,"â","a")
Texto = Replace(Texto,"¢","")
Texto = Replace(Texto,"õ","o")
Texto = Replace(Texto,"µ","O")
Texto = Replace(Texto,"Áº","u")
Texto = Replace(Texto,"Aº","u")
Texto = Replace(Texto,"º","u")
Texto = Replace(Texto,"Ã","A")
Texto = Replace(Texto,"ƒ","")
Texto = Replace(Texto,"Ê","E")
Texto = Replace(Texto,"©","")
Texto = Replace(Texto,"ê","e")
Texto = Replace(Texto,"ª","")
Texto = Replace(Texto,"ô","o")
Texto = Replace(Texto,"´","")
Texto = Replace(Texto,"Aµ","O")
Texto = Replace(Texto,"µ","")
Texto = Replace(Texto,"ó","O")
Texto = Replace(Texto,"³","")
Texto = Replace(Texto,"A“","O")
Texto = Replace(Texto,"“","")
Texto = Replace(Texto,"Aº","U")
Texto = Replace(Texto,"º","")
Texto = Replace(Texto,"ç","c")
Texto = Replace(Texto,"§","")
Texto = Replace(Texto,"Ç","C")
Texto = Replace(Texto,"‡","")
Texto = Replace(Texto,"ãO","AO")
Texto = Replace(Texto,"£","")
Texto = Replace(Texto,"É","E")
Texto = Replace(Texto,"‰","")
Texto = Replace(Texto,"Ã%","E")
Texto = Replace(Texto,"A£","a")
Texto = Replace(Texto,"£","")
Texto = Replace(Texto,"","")
Texto = Replace(Texto,"¡","")
Texto = Replace(Texto,"¢","")
Texto = Replace(Texto,"~a","a")
Texto = Replace(Texto,"ã","a")
Texto = Replace(Texto,"á","a")
Texto = Replace(Texto,"à","a")
Texto = Replace(Texto,"â","a")
Texto = Replace(Texto,"ä","a")

Texto = Replace(Texto,"~e","e")
Texto = Replace(Texto,"é","e")
Texto = Replace(Texto,"è","e")
Texto = Replace(Texto,"ê","e")
Texto = Replace(Texto,"ë","e")

Texto = Replace(Texto,"~i","i")
Texto = Replace(Texto,"í","i")
Texto = Replace(Texto,"ì","i")
Texto = Replace(Texto,"î","i")
Texto = Replace(Texto,"ï","i")

Texto = Replace(Texto,"~o","o")
Texto = Replace(Texto,"õ","o")
Texto = Replace(Texto,"ó","o")
Texto = Replace(Texto,"ò","o")
Texto = Replace(Texto,"ô","o")
Texto = Replace(Texto,"ö","o")

Texto = Replace(Texto,"~u","u")
Texto = Replace(Texto,"ú","u")
Texto = Replace(Texto,"ù","u")
Texto = Replace(Texto,"û","u")
Texto = Replace(Texto,"ü","u")

Texto = Replace(Texto,"ç","c")
Texto = Replace(Texto,"Ç","C")


Texto = Replace(Texto,"~A","A")
Texto = Replace(Texto,"Ã","A")
Texto = Replace(Texto,"Á","A")
Texto = Replace(Texto,"À","A")
Texto = Replace(Texto,"Â","A")
Texto = Replace(Texto,"Ä","A")

Texto = Replace(Texto,"~E","E")
Texto = Replace(Texto,"É","E")
Texto = Replace(Texto,"È","E")
Texto = Replace(Texto,"Ê","E")
Texto = Replace(Texto,"Ë","E")

Texto = Replace(Texto,"~I","I")
Texto = Replace(Texto,"Í","I")
Texto = Replace(Texto,"Ì","I")
Texto = Replace(Texto,"Î","I")
Texto = Replace(Texto,"Ï","I")

Texto = Replace(Texto,"~O","O")

Texto = Replace(Texto,"Õ","O")
Texto = Replace(Texto,"Ó","O")
Texto = Replace(Texto,"Ò","O")
Texto = Replace(Texto,"Ô","O")
Texto = Replace(Texto,"Ö","O")

Texto = Replace(Texto,"~U","U")
Texto = Replace(Texto,"Ú","U")
Texto = Replace(Texto,"Ù","U")
Texto = Replace(Texto,"Û","U")
Texto = Replace(Texto,"Ü","U")

//Remove caracteres htmls
Texto = Replace(Texto,"<","") //html
Texto = Replace(Texto,">","") //html
Texto = Replace(Texto,""","") //html
Texto = Replace(Texto,"&","") //html
Texto = Replace(Texto,"Œ","") //html
Texto = Replace(Texto,"œ","") //html
Texto = Replace(Texto,"Š","") //html
Texto = Replace(Texto,"š","") //html
Texto = Replace(Texto,"Ÿ","") //html
Texto = Replace(Texto,"ˆ","") //html
Texto = Replace(Texto,"˜","") //html
Texto = Replace(Texto," ","") //html
Texto = Replace(Texto," ","") //html
Texto = Replace(Texto," ","") //html
Texto = Replace(Texto,"‌","") //html
Texto = Replace(Texto,"‍","") //html
Texto = Replace(Texto,"‎","") //html
Texto = Replace(Texto,"‏","") //html
Texto = Replace(Texto,"–","") //html
Texto = Replace(Texto,"—","") //html
Texto = Replace(Texto,"‘","") //html
Texto = Replace(Texto,"’","") //html
Texto = Replace(Texto,"‚","") //html
Texto = Replace(Texto,"“","") //html
Texto = Replace(Texto,"”","") //html
Texto = Replace(Texto,"„","") //html
Texto = Replace(Texto,"†","") //html
Texto = Replace(Texto,"‡","") //html
Texto = Replace(Texto,"‰","") //html
Texto = Replace(Texto,"‹","") //html
Texto = Replace(Texto,"›","") //html
Texto = Replace(Texto,"€","") //html

Texto = WS_RemoveCaractAscII(Texto)

//Texto = Capitalize(Texto)

RESULT(Texto)





Procedure WS_RemoveCaractAscII(LOCAL Texto is string)

nTotal is int = Length(Texto)
nPos01 is int = 0
Busca is string = ""

Texto = Replace(Texto,"<?xml version="+Charact(34)+"1.0"+Charact(34)+" encoding="+Charact(34)+"utf-8"+Charact(34)+"?>","<?xml version="+Charact(34)+"1.0"+Charact(34)+"?>")

aZ09 is string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[ ]0123456789'&*()_+=-,.!@#$%?>.<:{}|/\" +Charact(34)


IF Texto <> "" THEN

LOOP (nTotal)

nPos01 += 1

IF nPos01 > 0 THEN

Busca = Texto[[nPos01]]

IF PositionOccurrence(aZ09,Busca,firstRank,FromBeginning) = 0 AND Busca <> Null THEN
Texto[[nPos01]] = ""
END

END

END

END

RESULT(Texto)







Procedure WS_RemoveCaracteresRota(LOCAL XmlResultado)

XmlResultado = Capitalize(WS_RemoveAcentos(XmlResultado))

XmlResultado = Replace(XmlResultado,"Matriz,","")

XmlResultado = Replace(XmlResultado,"Matriz","")

XmlResultado = Replace(XmlResultado,";","")

XmlResultado = Replace(XmlResultado,"@","")

XmlResultado = Replace(XmlResultado,"?","")

XmlResultado = Replace(XmlResultado,"#","")

XmlResultado = Replace(XmlResultado,"`","")

XmlResultado = Replace(XmlResultado,"~","")

XmlResultado = Replace(XmlResultado,"{","")

XmlResultado = Replace(XmlResultado,"}","")

//1234567890123456789012345678901234567890
//<?xml version="1.0" encoding="UTF-8"?>
Resultado is string = Lower(XmlResultado)
IF PositionOccurrence(Resultado,"<?xml version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,39,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<?Xml version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,39,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<?Xml Version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,39,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<?XML Version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,39,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<?XML VERSION",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,39,Length(XmlResultado))
END

IF PositionOccurrence(Resultado,"<xml version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,37,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<Xml version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,37,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<Xml Version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,37,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<XML Version",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,37,Length(XmlResultado))
END
IF PositionOccurrence(Resultado,"<XML VERSION",firstRank,FromBeginning) > 0
XmlResultado = Middle(XmlResultado,37,Length(XmlResultado))
END

RESULT(XmlResultado)
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 18 novembre 2014 - 14:22
Procedure RemoveAcentos(LOCAL Texto, LOCAL ComPonto)

TexTo_Anterior, Texto_Posterior, Paises, Espaco is string = ""
Texto = Replace(Texto,"â","â",IgnoreCase)
Texto = Replace(Texto,"A£","ã",IgnoreCase)
Texto = Replace(Texto,"á","á",IgnoreCase)

Texto = Replace(Texto,"é","é",IgnoreCase)
Texto = Replace(Texto,"ê","ê",IgnoreCase)

Texto = Replace(Texto,"í","í",IgnoreCase)

Texto = Replace(Texto,"ô","ô",IgnoreCase)
Texto = Replace(Texto,"Aµ","õ",IgnoreCase)
Texto = Replace(Texto,"ó","ó",IgnoreCase)

Texto = Replace(Texto,"ç","ç",IgnoreCase)

Texto = Replace (Texto,"<PT>","",IgnoreCase)
Texto = Replace (Texto,"</PT>","",IgnoreCase)
Texto = Replace (Texto,"<H1>","",IgnoreCase)
Texto = Replace (Texto,"</H1>","",IgnoreCase)
Texto = Replace (Texto,"<B>","",IgnoreCase)
Texto = Replace (Texto,"</B>","",IgnoreCase)
Texto = Replace (Texto,"nbsp;","",IgnoreCase)
Texto = Replace (Texto,"nbsp","",IgnoreCase)
Texto = Replace (Texto," ","",IgnoreCase)
Texto = Replace (Texto," ","",IgnoreCase)
Texto = Replace (Texto,"<PT>","",IgnoreCase)
Texto = Replace (Texto,"</PT>","",IgnoreCase)
Texto = Replace (Texto,"<","",IgnoreCase)
Texto = Replace (Texto,"<","",IgnoreCase)
Texto = Replace (Texto,">","",IgnoreCase)
Texto = Replace (Texto,">","",IgnoreCase)

Texto = Replace(Texto,"A£","a")
Texto = Replace(Texto,"á","a")

Texto = Replace(Texto,"é","e")
Texto = Replace(Texto,"ê","e")

Texto = Replace(Texto,"í","i")

Texto = Replace(Texto,"ô","o")
Texto = Replace(Texto,"Aµ","o")
Texto = Replace(Texto,"ó","o")

Texto = Replace(Texto,"ç","c")
Texto = Replace(Texto,"A£","a")

Texto = Replace(Texto,"ã","a")
Texto = Replace(Texto,"á","a")
Texto = Replace(Texto,"à","a")
Texto = Replace(Texto,"â","a")
Texto = Replace(Texto,"ä","a")

Texto = Replace(Texto,"~e","e")
Texto = Replace(Texto,"é","e")
Texto = Replace(Texto,"è","e")
Texto = Replace(Texto,"ê","e")
Texto = Replace(Texto,"ë","e")

Texto = Replace(Texto,"~i","i")
Texto = Replace(Texto,"í","i")
Texto = Replace(Texto,"ì","i")
Texto = Replace(Texto,"î","i")
Texto = Replace(Texto,"ï","i")

Texto = Replace(Texto,"õ","o")
Texto = Replace(Texto,"ó","o")
Texto = Replace(Texto,"ò","o")
Texto = Replace(Texto,"ô","o")
Texto = Replace(Texto,"ö","o")

Texto = Replace(Texto,"~u","u")
Texto = Replace(Texto,"ú","u")
Texto = Replace(Texto,"ù","u")
Texto = Replace(Texto,"û","u")
Texto = Replace(Texto,"ü","u")

Texto = Replace(Texto,"ç","c")
Texto = Replace(Texto,"Ç","C")

Texto = Replace(Texto,"Ã","A")
Texto = Replace(Texto,"Á","A")
Texto = Replace(Texto,"À","A")
Texto = Replace(Texto,"Â","A")
Texto = Replace(Texto,"Ä","A")

Texto = Replace(Texto,"~E","E")
Texto = Replace(Texto,"É","E")
Texto = Replace(Texto,"È","E")
Texto = Replace(Texto,"Ê","E")
Texto = Replace(Texto,"Ë","E")

Texto = Replace(Texto,"~I","I")
Texto = Replace(Texto,"Í","I")
Texto = Replace(Texto,"Ì","I")
Texto = Replace(Texto,"Î","I")
Texto = Replace(Texto,"Ï","I")

Texto = Replace(Texto,"Õ","O")
Texto = Replace(Texto,"Ó","O")
Texto = Replace(Texto,"Ò","O")
Texto = Replace(Texto,"Ô","O")
Texto = Replace(Texto,"Ö","O")

Texto = Replace(Texto,"~U","U")
Texto = Replace(Texto,"Ú","U")
Texto = Replace(Texto,"Ù","U")
Texto = Replace(Texto,"Û","U")
Texto = Replace(Texto,"Ü","U")

Texto = Replace(Texto,"<font size=-1>","")

Texto = Replace(Texto,"<font size=+1>","")

Texto = Replace(Texto,"</font>","")

Texto = Replace(Texto,"A‰","É")

Texto = Replace(Texto,"Aº","ú")

Texto = Replace(Texto,"a€“","=")

Texto = Replace(Texto,"&& ",CR)

Texto = Replace(Texto,"A","i")

Texto = Replace(Texto,"AŠ","E")

Texto = Replace(Texto,"A‡","C")

Texto = Replace(Texto,"A”","O")

Texto = Replace(Texto,"Aƒ","A")

Texto = Replace(Texto,"A","A")

Texto = Replace(Texto,"|",CR)

Texto = Replace(Texto," , "," ")

Texto = Replace(Texto, "&&&","")

Texto = Replace(Texto,"&","&")

// Observacoes Importantes:
//
// \n est un séparateur de fin de ligne sous MAC (de mémoire) et c'est égal à Caract(10)
// \r = Caract(13) (séparateur de ligne sous linux)
// \r\n = Caract(13)+Caract(10) (séparateur de ligne sous Windows)

Texto = Replace (Texto,CR,Caract(10),IgnoreCase)
Texto = Replace (Texto,CRLF,Caract(10),IgnoreCase)
Texto = Replace (Texto,Caract(13)+" ",Caract(10),IgnoreCase)
Texto = Replace (Texto,Caract(13)+Caract(10),Caract(10),IgnoreCase)
Texto = Replace (Texto,Caract(10)+" ",Caract(10),IgnoreCase)
Texto = Replace (Texto,Caract(10)+Caract(10),Caract(10),IgnoreCase)
Texto = Replace (Texto,Caract(10),Caract(13)+Caract(10),IgnoreCase)
Texto = Replace (Texto,Caract(13)+Caract(10)+" ",Caract(13)+Caract(10),IgnoreCase)


//Posicao do texto dos Paises e Telefones:
TexTo_Anterior = Texto
IF TexTo_Anterior <> Null
IF PositionOccurrence(TexTo_Anterior, "Listagem abaixo:",1,IgnoreCase) > 0 AND PositionOccurrence(TexTo_Anterior, "Demais países:",1,IgnoreCase) > 0

PrimeiraOcorrencia is int = PositionOccurrence(TexTo_Anterior, "Listagem abaixo:",1,IgnoreCase) + 16
UltimaOcorrencia is int = PositionOccurrence(TexTo_Anterior, "Demais países:",1,IgnoreCase)
TamanhoOcorrencia is int = UltimaOcorrencia - PrimeiraOcorrencia

//Paises:
Paises = Middle(TexTo_Anterior, PrimeiraOcorrencia, TamanhoOcorrencia)

//Mudança do texto dos paises:
Espaco = "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" //40 espacos
LOOP
Espaco = Middle( Espaco, 1,Length(Espaco)-1)
IF Length(Espaco) > 1
Paises = Replace(Paises,Espaco,";")
ELSE
BREAK
END
END

Paises = Replace(Paises,"&","")
Paises = Replace(Paises,"nbsp","")
Paises = Replace(Paises,";;",Caract(13)+Caract(10))
Paises = Replace(Paises," ;",Caract(13)+Caract(10))
Paises = Replace(Paises,"; ",Caract(13)+Caract(10))
Paises = Replace(Paises,";",Caract(13)+Caract(10))
Paises = Replace(Paises,Caract(13)+Caract(10)+" ",Caract(13)+Caract(10))
Paises = Replace(Paises," "+Caract(13)+Caract(10),Caract(13)+Caract(10))
Paises = Replace(Paises,Caract(13)+Caract(10)+Caract(13)+Caract(10),Caract(13)+Caract(10))

//trace(Paises)

//Quebra dos textos
Texto_Posterior = Middle(TexTo_Anterior, UltimaOcorrencia, Length(TexTo_Anterior))

TexTo_Anterior = Middle(TexTo_Anterior, 1, PrimeiraOcorrencia)

Texto = (TexTo_Anterior + Caract(13)+Caract(10) + Paises + Caract(13)+Caract(10) + Texto_Posterior)

END
END


IF ComPonto = 1 // Ligado = 1 e Desligado = 0
Texto = Replace (Texto,".",". "+CR,IgnoreCase)
END

//trace(texto)

RESULT(Texto)
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 18 novembre 2014 - 16:03
São 2 exemplos diferentes
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 29 septembre 2016 - 20:11
Procedure Noenter(Texto)

nTotal is int = Length(Texto)
nPos01 is int = 0
Busca is string = ""

Texto = Replace(Texto,CRLF,"")
Texto = Replace(Texto,CR,"")
Texto = Replace(Texto,"<13><10>","")
Texto = Replace(Texto,"<13>","")
Texto = Replace(Texto,"<10>","")
Texto = Replace(Texto,Charact(13)+Charact(10),"")
Texto = Replace(Texto,Charact(13),"")
Texto = Replace(Texto,Charact(10),"")
Texto = Replace(Texto,"","")
Texto = NoSpace(Texto)
Texto = NoAccent(Texto)
Texto = Replace(Texto,"","")

//Remove caracteres diferentes da lista abaixo:
aZ09 is string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[ ]0123456789'&*()_+=-,.!@#$%?>.<}|/\" +Charact(34)

IF Texto <> "" THEN

LOOP (nTotal)

nPos01 += 1

IF nPos01 > 0 THEN

Busca = Texto[[nPos01]]

IF PositionOccurrence(aZ09,Busca,firstRank,FromBeginning) = 0 AND Busca <> Null THEN
Texto[[nPos01]] = ""
END

END

END

END

RESULT(Texto)


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/