Visual Basic 6 – Funciones de Cadena (String Functions)

La siguiente tabla enumera las funciones que Visual Basic proporciona en la clase Microsoft.VisualBasic.Strings para buscar y manipular cadenas. Pueden considerarse funciones intrínsecas de Visual Basic; es decir, no tiene que llamarlos como miembros explícitos de una clase, como muestran los ejemplos. En la clase System.String se encuentran disponibles métodos adicionales y, en algunos casos, métodos complementarios.

Método Descripción
Asc Devuelve un valor entero que representa el código de carácter correspondiente a un carácter.
Chr Devuelve el carácter asociado con el código de carácter especificado.
Filter Devuelve una matriz de base cero que contiene un subconjunto de una matriz de cadenas según los criterios de filtro especificados.
Format Devuelve una cadena formateada de acuerdo con las instrucciones contenidas en una expresión de cadena de formato.
FormatCurrency Devuelve una expresión formateada como un valor de moneda utilizando el símbolo de moneda definido en el panel de control del sistema.
FormatDateTime Devuelve una expresión de cadena que representa un valor de fecha / hora.
FormatNumber Devuelve una expresión formateada como un número.
FormatPercent Devuelve una expresión formateada como porcentaje (es decir, multiplicada por 100) con un carácter de% al final.
InStr Devuelve un número entero que especifica la posición inicial de la primera aparición de una cadena dentro de otra.
InStrRev Devuelve la posición de la primera aparición de una cadena dentro de otra, comenzando desde el lado derecho de la cadena.
Join Devuelve una cadena creada al unir varias subcadenas contenidas en una matriz.
LCase Devuelve una cadena o carácter convertido a minúsculas.
Left Devuelve una cadena que contiene un número específico de caracteres del lado izquierdo de una cadena.
Len Devuelve un número entero que contiene el número de caracteres de una cadena.
LSet Devuelve una cadena alineada a la izquierda que contiene la cadena especificada ajustada a la longitud especificada.
LTrim Devuelve una cadena que contiene una copia de una cadena especificada sin espacios iniciales.
Mid Devuelve una cadena que contiene un número específico de caracteres de una cadena.
Replace Devuelve una cadena en la que una subcadena especificada ha sido reemplazada por otra subcadena un número específico de veces.
Right Devuelve una cadena que contiene un número específico de caracteres del lado derecho de una cadena.
RSet Devuelve una cadena alineada a la derecha que contiene la cadena especificada ajustada a la longitud especificada.
RTrim Devuelve una cadena que contiene una copia de una cadena especificada sin espacios finales.
Space Devuelve una cadena que consta del número especificado de espacios.
Split Devuelve una matriz unidimensional de base cero que contiene un número específico de subcadenas.
StrComp Devuelve -1, 0 o 1, según el resultado de una comparación de cadenas.
StrConv Devuelve una cadena convertida según lo especificado.
StrDup Devuelve una cadena u objeto que consta del carácter especificado repetido el número especificado de veces.
StrReverse Devuelve una cadena en la que se invierte el orden de los caracteres de una cadena especificada.
Trim Devuelve una cadena que contiene una copia de una cadena especificada sin espacios iniciales o finales.
UCase Devuelve una cadena o carácter que contiene la cadena especificada convertida a mayúsculas.

Asc

Retorna un numero entero correspondiente a su valor en ASCII 

Ejemplo

Dim codigoInt As Integer

'en este caso queremos saver el valor ASCII de la letra A
codigoInt = Asc("A")

'el codigo anterior develve el numero 65

codigoInt = Asc("c")

'el codigo anterior develve el numero 99

Chr

Retorna el carácter asociado al código ASCII de un numero indicado como parámetro. Viene siendo lo contrario al Método ASC.

Ejemplo

Dim letra As String

'en este caso queremos saver el valor ASCII de la letra A
letra = Chr(65)

'el codigo anterior develve la letra A

letra = Chr("99")

'el codigo anterior develve la letra c

Filter

Filter se sirve para buscar una frase en una arreglo devolviendo el mismo arreglo si se encuentra la frase buscada de lo contrario devuelve un arreglo vacío.

Ejemplo

Dim arrayStrings(2) As String 'arreglo con 3 posiciones
Dim ReturnStrings() As String 'arreglo para la respuesta

'se llena el arreglo con palabras
arrayStrings(0) = "Esto"
arrayStrings(1) = "es"
arrayStrings(2) = "Programacion"

'se busca en el arreglo la palabra "es" y la comparacion es por texto
ReturnStrings = Filter(testStrings, "es", True, vbTextCompare)

'UBound nos devuelve el tamaño del array por lo cual si es mayor a cero hay elementos
If UBound(ReturnStrings) > 0 Then   
   MsgBox "El Array contiene la frase buscada"
Else
   MsgBox "El Array No contiene la frase buscada"
End If

Format

Este método es uno de los que mas utilizo al programar en Visual Basic me permite formatear un texto en un formato especifico como por ejemplo en currency que es el formato moneda.

Format(Object, String)

Ejemplo

Dim pruebaDateTime As Date
 Dim pruebaStr As String
 
 'Asigno una fecha y hora a la variable
 pruebaDateTime = #1/27/2001 5:04:23 PM#
 ' Devuelve la hora actual del sistema en el formato de tiempo largo definido por el sistema.
 pruebaStr = Format(Now(), "Long Time")
 ' Devuelve la fecha actual del sistema en el formato de fecha larga definido por el sistema.
 pruebaStr = Format(Now(), "Long Date")
 ' También devuelve la fecha actual del sistema en la fecha larga definida por el sistema
 ' formato, utilizando el código de una sola letra para el formato.
 pruebaStr = Format(Now(), "D")
 
 ' Devuelve el valor de testDateTime en formatos de fecha / hora definidos por el usuario.
 ' Retorna "5:4:23".
 pruebaStr = Format(testDateTime, "h:m:s")
 ' Retorna "05:04:23 PM".
 pruebaStr = Format(testDateTime, "hh:mm:ss tt")
 ' Retorna "Sábado, ene 27 2001".
 pruebaStr = Format(testDateTime, "dddd, MMM d yyyy")
 ' Retorna "17:04:23".
 pruebaStr = Format(testDateTime, "HH:mm:ss")
 ' Retorna "23".
 pruebaStr = Format(23)
 
 ' User-defined numeric formats.
 ' Retorna "5,459.40".
 pruebaStr = Format(5459.4, "##,##0.00")
 ' Retorna "334.90".
 pruebaStr = Format(334.9, "###0.00")
 ' Retorna "500.00%".
 pruebaStr = Format(5, "0.00%")
 ' Retorna "$ 1.524.000".
 pruebaStr = Format(1524000, "currency")

FormatCurrency

Devuelve un String formateado en formato moneda utilizando el símbolo de moneda definido en el panel de control del sistema. Recibe 2 parámetros el valor y la cantidad de decimales.

Ejemplo

Dim pruebaStr As String

' Retorna "$ 1.524.000,00".
pruebaStr = FormatCurrency(1524000, 2)

FormatDateTime

Devuelve una expresión de cadena que representa un valor de fecha / hora.

Ejemplo

Dim testDate
Dim testString As String

testDate = #3/12/1999 10:55:00 PM#

'Retorma viernes, 12 de marzo de 1999
testString = FormatDateTime(testDate, vbLongDate)
'Retorma 12/03/1999
testString = FormatDateTime(testDate, vbGeneralDate)
'Retorma 10:55:00 p. m.
testString = FormatDateTime(testDate, vbLongTime)
'Retorma 12/03/1999
testString = FormatDateTime(testDate, vbShortDate)
'Retorma 22:55
testString = FormatDateTime(testDate, vbShortTime)

FormatNumber

Devuelve una expresión formateada como un número.

Parámetros

NumDigitsAfterDecimal Int32
Opcional. Valor numérico que indica cuántos lugares se muestran a la derecha del decimal. El valor predeterminado es -1, que indica que se utiliza la configuración regional de la computadora.

IncluirLeadingDigit 
Opcional. Constante TriState que indica si se muestra un 0 a la izquierda para valores fraccionarios. Consulte “Configuración” para conocer los valores.

UseParensForNegativeNumbers 
Opcional. Constante TriState que indica si se deben colocar valores negativos entre paréntesis. Consulte “Configuración” para conocer los valores.

GroupDigits 
Opcional. Constante TriState que indica si los números se agrupan o no mediante el delimitador de grupo especificado en la configuración regional. Consulte “Configuración” para conocer los valores.

Ejemplo

Dim testNumber As Integer
   Dim testString As String
   
   testNumber = 55600
   
   ' Returns "55,600.00".
   testString = FormatNumber(testNumber, 2)

FormatPercent

Devuelve una expresión formateada como porcentaje (es decir, multiplicada por 100) con un carácter de% al final.

Ejemplo

Dim testNumber As Single
Dim testString As String


testNumber = 0.76
testString = FormatPercent(testNumber)
' Retorna "76.00%".

GetChar

Devuelve un valor de Char que representa el carácter del índice especificado en la cadena proporcionada.

Ejemplo

Dim testString As String
 Dim testChar As Char
 
 testString = "Fernando"
 ' Retorna "n"
 testChar = GetChar(testString, 4)

InStr

Devuelve un número entero que especifica la posición inicial de la primera aparición de una cadena dentro de otra. El número entero es un índice basado en uno si se encuentra una coincidencia. Si no se encuentra ninguna coincidencia, la función devuelve cero.

Ejemplo

Dim searchString As String
    Dim searchChar As String
    Dim testPos As Integer

    searchString = "Luis Fernando Martinez"
    searchChar = "F"
    
    'El primer valor determina desde donde se inicia la busqueda
    
    ' Hace la busqueda en el texto a partir del caracter 4. Retorna 6.
    testPos = InStr(4, searchString, searchChar, vbTextCompare)
    
    searchChar = "L"
    testPos = InStr(4, searchString, searchChar, vbTextCompare)
    'Retorna cero ya que no encontro la L iniciando desde la letra numero 4
        
    searchChar = "L"
    testPos = InStr(1, searchString, searchChar, vbTextCompare)
    'Retorna 1
    
    searchChar = "M"
    testPos = InStr(10, searchString, searchChar)
    'Retorna 15

InStrRev

Devuelve la posición de la primera aparición de una cadena dentro de otra, comenzando desde el lado derecho de la cadena.

Ejemplo:

Dim Resultado
   
   Resultado = InStrRev(Texto, "M", -1, 1)
   Debug.Print Resultado
   'Retorna 21 que es el numero de caracteres que
   'hay de derecha ha inzquierda hasta la letra M

Mid

Devuelve una cadena que contiene un número específico de caracteres de una cadena.

Mid(stringstart, [ length ])

string Obligatorio.  La cadena de texto que se quiere procesar.
start Obligatorio; Long. Posición desde donde se va a iniciar de la parte que se desea extraer. El primer caracter tiene valor 1
length Opcional; Variant (Long). Número total de caracteres que se quieren tomar. Si se omite o hay menos caracteres length en el texto (incluido el carácter de start), se devuelven todos los caracteres desde la posición start hasta el final de la cadena.

Ejemplo:

Dim CadenaTexto As String
 
 CadenaTexto = "001, programaresfacil, 12345  "
 Codigo = Mid(CadenaTexto, 1, 3)
 web = Mid(CadenaTexto, 6, 16)
 numero = Mid(CadenaTexto, 17, 5)
 
 Debug.Print Codigo
 Debug.Print web
 Debug.Print numero
 
 'Resultado:
 '001
 'programaresfacil
 'facil

 'Ejemplo 2
  Dim i As Integer

  For i = 1 To Len(CadenaTexto)
      Debug.Print Mid(CadenaTexto, i, 1)
  Next i
  'El resultado es que me pone una letra por linea
  '0
  '0
  '1

 

 

Total Page Visits: 4212 - Today Page Visits: 4

Deja una respuesta