VBA Tips: Retira Acentos diacríticos

Como retiramos os acentos de um texto, ou de uma base de dados a qual desejamos popular, comparar, deduplicar? A função abaixo resolve bem a nossa necessidade:

Function TiraAcento (Palavra)
    Dim cAcento As String
    Dim sAcente As String
    
    Let cAcento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ"
    Let sAcento = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN"
    Let Texto = ""
    
    If Palavra <> "" Then
        For X = 1 To Len(Palavra)
            Let Letra = Mid(Palavra, X, 1)
            Let Pos_Acento = InStr(cAcento, Letra)

            If Pos_Acento > 0 Then
                Let Letra = Mid(sAcento, Pos_Acento, 1)
            End If

            Let Texto = Texto & Letra
        Next

        Let TiraAcento = Texto
    End If
End Function

Referências:
A.M. Kuchling (19 de julho de 2008). Regular Expression HOWTO (em inglês). Documentação do Python. Python Software Foundation. Página visitada em 24 de julho de 2008.Aurélio Marinho Jargas. Expressões Regulares - Uma Abordagem Divertida. 3 ed. [S.l.]: Novatec, 2009. 208 p. ISBN 978-85-7522-212-6Ben Forta. Sams Teach Yourself Regular Expressions in 10 Minutes. [S.l.]: Sams. ISBN 0-672-32566-7DOT NET Framework Regular Expressions (em inglês). .NET Framework Developer's Guide. Microsoft. Página visitada em 25 de julho de 2008.Francois Liger; Craig McQueen, Paul Wilton. Visual Basic .NET Text Manipulation Handbook. [S.l.]: Wrox Press. ISBN 1-86100-730-2Jan Goyvaerts (14 de março de 2008). Example: Regular Expression Matching a Valid Date (em inglês). Página visitada em 25 de julho de 2008.Jeffrey Friedl. Mastering Regular Expressions. [S.l.]: O'Reilly. ISBN 0-596-00289-0Larry Wall (4 de junho de 2002). Apocalypse 5: Pattern Matching (em inglês).Larry Wall e o time de desenvolvimento do Perl 5 (2006). perlre: Perl regular expressions (em inglês).Lesson: Regular Expressions (em inglês). The Java Tutorials. Sun Microsystems. Página visitada em 25 de julho de 2008.Mehran Habibi. Real World Regular Expressions with Java 1.4. [S.l.]: Springer. ISBN 1-59059-107-0Michael Sipser. Introduction to the Theory of Computation. [S.l.]: PWS Publishing. 31–90 p. ISBN 0-534-94728-XPOSIX Regex: Introduction (em inglês) (18 de julho de 2008). Página visitada em 24 de julho de 2008.ReferênciasRegular Expressions (em inglês). The Open Group (1997). Página visitada em 19 de julho de 2008.Russ Cox (Janeiro de 2007). Regular Expression Matching Can Be Simple and Fast (em inglês). Página visitada em 20 de julho de 2008.Tony Stubblebine. Regular Expression Pocket Reference. [S.l.]: O'Reilly. ISBN 0-596-00415-Xa b Perl 5.10.0 documentation (em inglês). Página visitada em 25 de julho de 2008.

Tags: Tip, deduplicação, higienização, acento, diacrítico, cedilha



Nenhum comentário:

Postar um comentário

diHITT - Notícias