Manejo de Cadenas en VB.Net: 1ra. parte.

Los Creadores del BASICUno de los puntos fuertes de VB.Net, que en realidad es uno de los puntos fuertes de todas las versiones de BASIC desde la primera creada en 1963 en el Dartmouth College, es el manejo de strings. La cantidad de funciones de VB.Net para su manipulación es enorme. Es cierto que al compartir el framework C# y otros lenguajes basados en .Net tienen métodos similares. Pero muchos que pueden llegar a ser completamente nuevos para un programador que viene de C o C++, son viejos conocidos de los programadores que venimos de VB o anteriores.

He aquí la primera parte de un pequeño resumen de las principales funciones y métodos de manipulación de strings en VB.Net.

Declarar e inicializar un string

Hay dos formas de hacerlo:

Dim s As String
s = "Esta es una cadena de caracteres" 

o bien:

Dim s As String = "Esta es una cadena de caracteres" 

Concatenar strings

En VB.Net, a combinar dos strings se le llama concatenar. Se pueden usar los símbolos & o +.

Dim s1 As String = "VB"
Dim s2 As String = ".Net"
Dim s3 As String = s1 & s2 

Esto produce como resultado en s3 “VB.Net”.

Convertir Strings

Para convertir un valor numérico a una cadena tenemos el método ToString:

Dim i As Integer = 37
Dim s As String = i.ToString()

Además cuando un valor numérico es usado en una concatenación, VB.Net lo convierte automáticamente:

Dim s As String = "El valor de i es " & i

Otras funciones útiles

Entra las funciones más útiles, que sobreviven de las primeras versiones de BASIC, tenemos:

Len(s) : Devuelve la longuitud de un string.
Mid(s,j,i) : Devuelve un substring de s de i caracteres a partir de la posición j inclusive. Tambien se puede usar para reemplazar una posición determinada en uns string haciendo Mid(s,3,1) = “*”. Esta sentencia pone un * en la posición 3 del string.
Replace(s,”*”,”#”) : Reemplaza en todo el string los * por #.
Instr(s,s2) : Busca la primer ocurrencia de s2 dentro de s y devuelve un entero con su posición. Opcionalmente se puede usar Instr(i,s,s2) donde i es un entero que indica a partir de que posición dentro del string se empieza la búsqueda. Si no encuentra nada devuelve 0.

En la segunda parte veremos el poderoso método Format de la clase String para formatear strings, valores numéricos y fechas.

Saludos. 8)

About these ads

21 Responses to “Manejo de Cadenas en VB.Net: 1ra. parte.”


  1. 1 luis cardenas marzo 14, 2008 en 5:52 pm

    me gustaria conocer cual seria el codigo correcto para leer una cierta cantidad de palabras y poder diferenciar las vocales de las consonantes. gracias mil gracias…………..

  2. 2 ronald abril 8, 2008 en 10:27 pm

    gracias por la info… me sirvió bastante… por cierto solo para talvez ayudar un poco a personas que busquen más sobre este tema… sería bueno que publicaran ingreso de numeros ya sea integer o double y que se pasen a string porque eso no menciona… menciona solo string definidos pero no ingresados por el usuario… sería bueno que agregara más sobre conversiones… por si alguien necesitara algo:
    valor integer para convertirlo a string se utliza Cstr
    De double a integer se utiliza CInt
    Y para String a Date se utiliza CDate…
    el conocimiento no se acapara, se comparte…

  3. 3 Abraham .I Jurado H. abril 13, 2008 en 4:15 pm

    Gracias, esta muy bueno el malualito :), y mas aun para los que se inicia en el mundo de vb.net

  4. 4 Daniel Solà mayo 14, 2008 en 2:50 pm

    Exelente pero deberian porner muchos mas ejemplos por funcion, para las persona que estan comenzando a ambientarse a la programación

    • 5 Viti junio 19, 2009 en 8:49 am

      Ah, genial idea Daniel. Hazlo tú, pon tú los ejemplos. Como hablas de “las personas que están comenzando” en tercera persona seguro que tú no eres una de ellas, y por tanto conoces “muchos más ejemplos por función” y con lo dispuesto que estás para indicar lo que “deberían” hacer, seguro que no te importa hacerlo a tí.
      Anda, anímate y pon muchos más ejemplos por función, que en este post te caben como 100 líneas por lo menos.

  5. 6 miller mayo 25, 2008 en 12:22 am

    por que me sale un error de que el formato de la cadena no se ajusta a las especificaciones en el indice 100

  6. 7 laura junio 24, 2008 en 3:52 pm

    es muy miserable sus funciones
    existen miles y son mucho mas importantes y solo muestras esa?

  7. 8 Felipe julio 26, 2008 en 12:15 pm

    Publicas muchas funciones que vienen de VB6
    Si dices .NET deberías publicar las nuevas formas de manejar string
    Este articulo da para confusiones para quienes quieran buscar las funciones nativas de .NET

  8. 9 Quitar el primero y el ultimo carcter de una cadena agosto 28, 2008 en 7:30 pm

    Que funcion puedo utilizar para quitar de una cadena el primer y el ultimo caracter, por ejemplo:
    cadena={’09/08/2008′,’10/08/2008′},pero yo quiero que
    cadena=’09/08/2008′,’10/08/2008′.
    en C#.net 2.0.

  9. 10 Wilder octubre 1, 2009 en 3:16 am

    Ayuda! Kiero obtener grupos de un arreglo Signos() que solo contiene (“-”,”+”) ejm Signos(5)={“-”,”-”,”+”,”-”,”-”,”+”} este arreglo posee 4 grupos (–, +, –, +), la kosa es k no m sale la cantidad de grupos exactos…
    m= contador de signos repetidos, espacio entre dos signos diferentes.
    N= contador d mi arreglo
    cGRup= contador de Grupos
    Function getGrupos(ByVal Signos, ByVal N)
    Dim i, p, cGrup, m As Integer
    Dim sg As String

    For i = 0 To (N – 2) Step (m + 1)
    sg = Signos(i)
    For p = i + 1 To (N – 1)
    m = 0
    If sg = Signos(p) Then
    m += 1
    Else
    cGrup += 1
    Exit For
    End If
    Next p
    Next
    Return cGrup
    End Function

  10. 11 leffty agosto 5, 2010 en 5:43 pm

    facil para comenzar..pero tengo un problema con CR, con su famoso espaciado de caracteres que no “jala” en tipos de datos DATETIME…

  11. 12 maria belen enero 31, 2011 en 4:06 am

    hola!
    disculpa me gustaria saber la segunda parte de el metodo para formatear los valores por favor
    gracias….

  12. 13 NazGarB marzo 9, 2011 en 9:27 pm

    Kiero realizar esto:

    Me.Controls(“SABMenuStrip.” & v_GetMenu).Enabled = True

    pero me sale “Referencia a objeto no establecida como instancia de un objeto.”

    y no tengo idea de como solucionarlo.

    si alguien encuentra la respuesta avisarme a mi e-mail: nazgargreen@gmail.com

    Muxas gracias.

  13. 14 joac89 mayo 6, 2011 en 4:58 am

    algunas funciones para manejo de string en vb.net

    cstr() convierte un dato a string.
    ej: dim x as string =cstr(2) ‘esto convierte el numero 2 a string

    substring() busca un caracter en una cadena string
    ej: dim x as string=””
    dim y as string=”programando”
    x= y.substring(0,4) ‘esto guarda en x 4 caracteres de y comenzando desde el caracter 0

    split() separa una cadena dependiendo de un caracter especifico
    ej: dim x as string =”esto.es.una.cadena”
    dim v() as string={}
    v=x.split(“.”) ‘esto guarda en el vector v la cadena separada por el punto.
    v quedaria asi:
    v(0)=”esto”, v(1)=”es”, v(2)=”una”, v(3)=”cadena”

    indexof() busca un caracter en una cadena especifica y devuelve la posicion.
    ej: dim x as string=”joac89″ , z as integer=0
    z = x.indexof(“8″)
    devuelve z = 4

    replace() reemplaza un caracter por otro en una cadena
    ej: dim x as string =”abcdefg”

    x.replace(‘a’,’w’) ‘quedaria x = “wbcdefg”

    lenght() calcula la longitud de la cadena
    ej: dim x as string =”cadena”, z as intger=0
    z=x.lenght
    z=6

    ……. se concatena con & o con +……….

    [joac89]

  14. 15 lalo agosto 18, 2011 en 12:46 pm

    Hola,
    Tengo el siguiente string:

    ” dsDatos = oUtilerias.RegresaRegistros_DataSet(MiBase, “pSelListPacientes”, 1, iClinica)”

    tiene comillas en el interior del string, como puedo hacer para que no marque error y tome esas comillas como parte del string?

  15. 17 Nacho marzo 15, 2012 en 5:27 pm

    Necesito modificar en una cadena todos los “!” por “|”.
    El problema es que en la aplicacion que utilizo la funcion replace no se puede utilizar. Hay alguna otra manera de hacerla con poco codigo y sin utilizar esa funcion?

  16. 18 Pio Vazquez marzo 31, 2012 en 3:47 am

    Hola el uso de left y right para seleccionar caracteres de los extremos de una cadena cual seria la el comando en ,net 2008

  17. 19 ivan palomino mayo 8, 2012 en 12:29 am

    graxias por el post, me sirvio de ayuda, espero que sigan subiendo este tipo de articulos mas frecuancia. !!

  18. 20 Trif agosto 12, 2012 en 10:13 pm

    Un post muy bueno. Una consulta, ¿cómo contar palabras si están separadas por mas de un espacio? No puedo ocupar el Split porque “me engaña” ya que cuenta por espacio, cuenta doble. Gracias.


  1. 1 Manejo de String, desde distintos lugares de la galaxia | Nelson Rojas Núñez Trackback en noviembre 20, 2012 en 9:27 pm

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s





Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: