Buscador

Format( ) - Part 5

Lo que ha sucedido aquí es que la función Format( ) ha ido tomando cada carácter especial que entiende como sustituible y lo ha convertido al valor correspondiente. Para evitar este comportamiento, debemos preceder cada uno de estos caracteres del símbolo \ como vemos en el Código fuente 201.

Dim Fecha As Date = "18/07/2002"
Console.WriteLine(Format(Fecha, "La \fe\c\ha e\s dddd, dd \de MMMM \de yyyy"))
' Resultado
La fecha es jueves, 18 de julio de 2002
Código fuente 201

Format( ) - Part 4

El Código fuente 199 muestra algunos ejemplos de formato con caracteres especiales.

Dim MiFecha As Date
Dim MiNumero As Double
Dim ValorFormato As String
MiFecha = #7/19/2002 6:25:00 PM#
MiNumero = 16587.097
ValorFormato = Format(MiFecha, "dddd d/MMM/yyyy") ' "viernes 19/jul/2002"
ValorFormato = Format(MiFecha, "HH:mm") ' "18:25"
ValorFormato = Format(MiNumero, "#,#.00") ' "16.587,10"
Código fuente 199
Si queremos formatear las fechas de una manera todavía más elaborada, incluyendo texto adicional, podemos construir cadenas de formato empleando el carácter de escape, que en este caso es la barra
invertida ( \ ), para evitar que determinados caracteres clave de formato sean sustituidos.
Por ejemplo, tenemos la fecha 18/07/2002 y queremos formatearla de modo que se muestre la siguiente cadena: “La fecha es jueves, 18 de julio de 2002”. Con lo que sabemos hasta el momento, la cadena de formato que probablemente utilizaríamos sería la mostrada en el Código fuente 200, que nos daría un resultado incorrecto.

Dim Fecha As Date = "18/07/2002"
Console.WriteLine(Format(Fecha, "La fecha es dddd, dd de MMMM de yyyy"))
' Resultado
La 0ec12a e0 jueves, 18 18e julio 18e 2002
Código fuente 200

Format( ) - Part 3

Para los caracteres especiales, la Tabla 22 muestra un conjunto de los más habituales.

Format( ) - Part 2

El Código fuente 198 muestra algunos ejemplos de formateo con nombre

Dim MiFecha As Date
Dim MiNumero As Double
Dim ValorFormato As String
MiFecha = #7/19/2002 6:25:00 PM#
MiNumero = 1804
ValorFormato = Format(MiFecha, "Long Date") ' "viernes, 19 de julio de 2002"
ValorFormato = Format(MiFecha, "Short Date") ' "19/07/2002"
ValorFormato = Format(MiFecha, "Short Time") ' "18:25"
ValorFormato = Format(MiNumero, "Standard") ' "1.804,00"
ValorFormato = Format(MiNumero, "Currency") ' "1.804 pta"
ValorFormato = Format(MiNumero, "Percent") ' "180400,00%"

Código fuente 198

Format( ) - Part 1

' Sintaxis
Format(Expresión [,CadenaFormato] [,PrimerDíaSemana]
[,PrimeraSemanaAño])

Formatea la expresión pasada en el primer parámetro, empleando de forma opcional una cadena para especificar el tipo de formateo a realizar. Si el valor a formatear es una fecha, podemos utilizar los dos últimos parámetros para especificar el primer día de la semana y la primera semana del año; estos dos últimos parámetros son enumeraciones, cuyos valores aparecen automáticamente al asignar su valor. Consulte el lector, la documentación de ayuda para más información.
Como cadena de formato, podemos utilizar los nombres predefinidos de formato, o una serie de caracteres especiales, tanto para formateo de números como de fechas. En lo que respecta a los nombres predefinidos, la Tabla 21 muestra algunos de los utilizados.

Funciones de cadena de caracteres - XII

Join( )

' Sintaxis
Join(ArrayCad()[, Delimitador])

Esta función realiza la operación inversa a Split, toma un array de cadenas y lo transforma a una única cadena.
Si utilizamos el parámetro Delimitador, los elementos de ArrayCad se concatenarán con el carácter de dicho parámetro. Si este valor es una cadena vacía, todos los elementos se concatenarán sin separación. En el caso de no emplear Delimitador, se utiliza un espacio en blanco. Ver el Código fuente 197.

Dim Palabras() As String = {"Esto", "es", "una", "prueba"}
Dim Resultado As String
Resultado = Join(Palabras) ' Esto es una prueba
Código fuente 197

Funciones de cadena de caracteres - XI

Split( )
' Sintaxis
Split(Cadena [, Delimitador] [, Subcadenas] [, TipoComparación])

Toma el contenido de Cadena y crea un array de cadenas, utilizando el carácter contenido en Delimitador para calcular la cantidad de elementos que contendrá el array. Si no se utiliza
Delimitador, se emplea el espacio en blanco como delimitador por defecto.
El parámetro Subcadenas nos permite indicar cuántas subcadenas va a contener el array, pudiendo determinar cómo se va a realizar la comparación mediante TipoComparación.
Veamos un ejemplo en el Código fuente 196.

Dim Cadena As String
Dim SubCad() As String
Dim Elemento As String
Cadena = "Coche azul, deportivo, turbo inyección"
SubCad = Split(Cadena, ",")
For Each Elemento In SubCad
Console.WriteLine(Elemento)
Next
Código fuente 196

Funciones de cadena de caracteres - X

StrConv( )
' Sintaxis
StrConv(Cadena, TipoConversión [,IDLocal])

Realiza una conversión de la cadena pasada como parámetro, utilizando algunos de los valores de la enumeración TipoConversión. Opcionalmente podemos pasar también un valor correspondiente al identificador local del sistema. Ver el Código fuente 195.

Dim MiCadena As String
Dim Conversion As String
MiCadena = "el tren llegó puntual"
' convertir a mayúscula
Conversion = StrConv(MiCadena, VbStrConv.UpperCase)
' convertir a minúscula
Conversion = StrConv(MiCadena, VbStrConv.LowerCase)
' convertir a mayúscula la primera letra
' de cada palabra
Conversion = StrConv(MiCadena, VbStrConv.ProperCase)
Código fuente 195

Funciones de cadena de caracteres - IX

UCase( ), LCase( )

' Sintaxis
UCase(Cadena)
LCase(Cadena)

Estas funciones, convierten la cadena pasada como parámetro a mayúsculas y minúsculas respectivamente. Ver el Código fuente 194.

Dim Cadena As String
Dim CadMay As String
Dim CadMin As String
Cadena = "Vamos a Convertir En Mayúsculas Y MinúscuLAS"
CadMay = UCase(Cadena) ' VAMOS A CONVERTIR EN MAYÚSCULAS Y MINÚSCULAS
CadMin = LCase(Cadena) ' vamos a convertir en mayúsculas y minúsculas
Console.WriteLine("Conversión a mayúsculas: {0}", CadMay)
Console.WriteLine("Conversión a minúsculas: {0}", CadMin)
Código fuente 194

Funciones de cadena de caracteres - VIII

LTrim( ), RTrim( ), Trim( )
' Sintaxis
LTrim(Cadena)
RTrim(Cadena)
Trim(Cadena)

Estas funciones eliminan los espacios en blanco de una cadena. La eliminación será a la izquierda en el caso de LTrim( ), a la derecha en el caso de RTrim(), y a ambos lados con Trim( ). Ver el Código fuente 193.

Dim CadEspacios As String
Dim CadResultante As String
CadEspacios = " Barco "
CadResultante = LTrim(CadEspacios) ' "Barco "
CadResultante = RTrim(CadEspacios) ' " Barco"
CadResultante = Trim(CadEspacios) ' "Barco"
Código fuente 193

Funciones de cadena de caracteres - VII

Replace( )

' Sintaxis
Replace(Cadena,CadOrigen,CadNueva [,Inicio] [,Sustituciones]
[,TipoComparación])

Esta función toma la cadena situada en el primer parámetro y busca la cadena CadOrigen, sustituyendo las ocurrencias encontradas por la cadena CadNueva. Opcionalmente, el parámetro Inicio especifica la posición en la que comenzará la sustitución; el parámetro Sustituciones indica el número de sustituciones a realizar; y TipoComparación indica como se realizarán las comparaciones (texto, binaria). Veamos unos ejemplos en el Código fuente 192.

Dim MiCadena As String
Dim CadSustituida As String
MiCadena = "Este coche es especial"
CadSustituida = Replace(MiCadena, "es", "xx")
' resultado: Este coche xx xxpecial
Console.WriteLine("Resultado del reemplazo en la cadena: {0}", CadSustituida)
' en el anterior ejemplo los dos primeros caracteres
' no se sustituyen porque no se ha especificado el tipo
' de comparación, que a continuación sí indicaremos
CadSustituida = Replace(MiCadena, "es", "xx", , , CompareMethod.Text)
' resultado: xxte coche xx xxpecial
' ahora sí se han sustituido todas las ocurrencias de "es"
Console.WriteLine("Resultado del reemplazo en la cadena: {0}", CadSustituida)
Código fuente 192

Funciones de cadena de caracteres - VI

Mid( )

Mid tiene dos formas de uso, como función y como instrucción.
' Sintaxis (función)
Mid(Cadena, Inicio [, Longitud])

Mid utilizado como función, extrae de Cadena, comenzando en la posición Inicio, una subcadena. Opcionalmente podemos utilizar el parámetro Longitud, para indicar el tamaño de la subcadena. En caso de no utilizar este último parámetro, la subcadena se obtendrá hasta el final. Ver Código fuente 190.

Dim MiCadena As String
Dim SubCadena As String
MiCadena = "El bosque encantado"
SubCadena = Mid(MiCadena, 6)
Console.WriteLine("Subcadena hasta el final: {0}", SubCadena) ' sque encantado
SubCadena = Mid(MiCadena, 6, 3)
Console.WriteLine("Subcadena de 3 caracteres: {0}", SubCadena) ' squ
Código fuente 190
' Sintaxis (instrucción)
Mid(Cadena, Inicio [, NumCarReemplazar]) = CadenaReemplazo

Mid utilizado como instrucción función, reemplaza en Cadena, comenzando por la posición Inicio, la cadena asignada en CadenaReemplazo. Podemos opcionalmente, indicar cuántos caracteres a reemplazar en NumCarReemplazar. Ver el Código fuente 191.

Dim Cadena As String
Cadena = "El bosque encantado"
Mid(Cadena, 4, 5) = "teclado" ' Cadena contiene 􀃆 "El teclae encantado"
Código fuente 191

Funciones de cadena de caracteres - V

Left( )

' Sintaxis
Left(Cadena, Longitud)
Esta función extrae, comenzando por la parte izquierda de Cadena, una subcadena con el número de caracteres indicado por el parámetro Longitud.

Right( )
' Sintaxis
Right(Cadena, Longitud)
Esta función extrae, comenzando por la parte derecha de Cadena, una subcadena con el número de caracteres indicado por el parámetro Longitud.
El Código fuente 189 muestra ejemplos de Left( ) y Right( ).

Dim CadIzquierda As String
Dim CadDerecha As String
CadIzquierda = Left("Especial", 3)
Console.WriteLine("Resultado de la función Left(): {0}", CadIzquierda) ' Esp
CadDerecha = Right("Especial", 3)
Console.WriteLine("Resultado de la función Right(): {0}", CadDerecha) ' ial
Código fuente 189