Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Beginner
Mar 5, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

A Super-Efficient Toggle Case Using XOR

My benchmarking shows that ToggleCase can crunch through a 2,000,000 character string in under 4 seconds on a Pentium II.
Public Function ToggleCase(ByVal strData As String) As String

    'This technique gets its blistering
    'speed from the super efficient
    'bitwise operation.

    Dim i As Long
    Dim lngUBound As Long
    Dim str() As Byte
    'put the string into a byte array
    str() = strData
    'cache the upper boundary value of the array
    lngUBound = UBound(str)
    For i = 0 To lngUBound
        'toggling the case only applies alpha characters
        If str(i) > 64 And str(i) < 123 Then
            'XOR-ing the ASCII value of the character with 32
            'has the effect of toggling its case
            str(i) = str(i) Xor 32
        End If
    Next i
    'return the 
Eugene Quah
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date