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(string, start, [ 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