Uso de Substring en c#
Por Diógenes Amaury MS
Saludos Amig@s
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.