Trucos y tretas
 
Mejorar la función Trim

Regresar al menú "Trucos"
Principal


Autor: Konstantin Komissarchik
Traductor: Daniel Quintero Rojas
Fecha: febrero del 2000
Fuente: Visual Basic Programmer's Journal (http://www.vbpj.com)
Descripción: Una dunción Trim mejorada, que no solo quite espacios de una cadena, sino también una serie de caracteres epeciales

La función Trim tiene una seria dificultad: maneja solamente los caracteres de espacio, no todos los espacios usuales, como los tabs, retornos de carro y saltos de línea.

En lugar de usar la función Trim estándar, use la función TrimAll, la cual maneja todos los caracteres de espacio, y se puede mejorar para quitar cualquier caracter editando la asignación a la variable ToEliminate:

Public Function TrimAll(ToTrim As String) As String
Static ToEliminate As String
Dim Start As Long, Finish As Long

   ' Base condition test
   If Len(ToTrim) = 0 Then
      TrimAll = ""
      Exit Function
   End If
   
   ' Define the characters (once) that we want to trim off
   If Len(ToEliminate) = 0 Then
      ToEliminate = Chr(0) & Chr(8) & Chr(9) & Chr(10) & Chr(13) & Chr(32)
   End If
   
   ' Find the begining of nonblank string by checking each char
   ' against a list of blank chars
   Start = 1
   Do While Start <= Len(ToTrim)
      If InStr(ToEliminate, Mid$(ToTrim, Start, 1)) Then
         Start = Start + 1
      Else
         Exit Do
      End If
   Loop
   
   ' Find the end of nonblank string
   Finish = Len(ToTrim)
   Do While Finish > 1
      If InStr(ToEliminate, Mid$(ToTrim, Finish, 1)) Then
         Finish = Finish - 1
      Else
         Exit Do
      End If
   Loop
   
   If Start > Finish Then
      ' If the string is completely blank,
      ' Start will be greater than Finish
      TrimAll = ""
      Exit Function
   Else
      ' Trim out the real contents
      TrimAll = Mid$(ToTrim, Start, Finish - Start + 1)
   End If

End Function


Arriba
Regresar al menú "Trucos"
Principal

Derechos reservados © 2001 Daniel Quintero Rojas (dqrsoftware@gmx.net)