martes, 2 de octubre de 2012

Substring En C#


Uso de Substring en c#



Por Diógenes Amaury MS
Saludos Amig@s
Hoy hablaremos del  método  Substring, el cual nos permite tomar o extraer textos o dígitos, su sintaxis es como sigue:
Substring(Inicio, Longitud)
Inicio: indica en que posición de una cadena se ubicará (tomando en cuenta que inicia desde 0). Por ejemplo Firme, la F esta ubicada en la posición cero.
Longitud: Indica la cantidad de carateres que deseamos extraer.
Ejemplo:
string nombre, resul;
nombre=”josefa”;
resul= VALOR.Substring(4, 2);

el resultado de la variable resul será “fa”


Pasemos ahora a un ejemplo un poquito mas complicado, imaginemos que deseamos escribir en un textbox letras y números, y luego poder mostrar dicha información por separados, por ejemplo si escribimos Dios123, es un textbox debe aparecer Dios y en el otro 123.
Para esto nos auxiliaremos del método int.TryParse para determinar si lo que vamos extrayendo es número o letra y de esta forma poder concatenar por su contenido.

Paso 1
Declaremos 3 textbox:
TXTVALOR
TXTLETRAS
TXTNUMERO

Paso 2
Agregemos un button.

Paso 3
Dentro del buton escribimos el siguiente código c#
private void button1_Click(object sender, EventArgs e)
  {
  string VALOR;
  VALOR = TXTVALOR.Text;
  int number;
  for (int I=0;I<VALOR.Length;I++)
    {
       bool result = int.TryParse(VALOR.Substring(I, 1), out number);
       if (result==false)
       {
        TXTLETRAS.Text = TXTLETRAS.Text + VALOR.Substring(I, 1);
       }
    else
       {
       TXTNUMERO.Text = TXTNUMERO.Text + VALOR.Substring(I, 1);
       }
     }         
  }



Explicación del código.
Declaramos una variable llamada Valor, a la que le pasomos el contenido del textbox, donde escribimos la información.
string VALOR;
VALOR = TXTVALOR.Text;
Declaramos una variable tipo int llamada number, para poder darle salida al método TryParse, y asi poder determinar si es número o no.

int number;

declaramos un ciclo for, para recorrer el contenido del Textbox.
for (int I=0;I<VALOR.Length;I++)

declaramos una variable tipo bool para almacenar true o false dependiendo del tipo de datos que se lea.
bool result = int.TryParse(VALOR.Substring(I, 1), out number);


Si es falso, significa que el character leido es letra.
       if (result==false)
       {
        TXTLETRAS.Text = TXTLETRAS.Text + VALOR.Substring(I, 1);
       }

En caso contrario es numérico.
    else
       {
       TXTNUMERO.Text = TXTNUMERO.Text + VALOR.Substring(I, 1);
       }


Espero, que este ejemplo le sea de utilidad.

Frase para meditar.
Enseñar a quien no quiere aprender es como sembrar un campo sin ararlo.