• Viernes 29 de Marzo de 2024, 11:34

Autor Tema:  extraer dato numero de una cadena  (Leído 6400 veces)

alexisgondola

  • Miembro activo
  • **
  • Mensajes: 37
  • Nacionalidad: pa
    • Ver Perfil
extraer dato numero de una cadena
« en: Martes 4 de Septiembre de 2012, 00:38 »
0
buenas tardes que tal, deseaba si me podrian ayudar con este caso
la extraccion de una fecha de esta cadena o numero

  string archivo1 = "ejemplo_ejemplo_2012080200_to_2012080300_at_20120807_42323_1.txt";

  string archivo2 = "ejemplo_2012080200.txt";


deseo extraer el siguiente numero : 20120802
que seria el año mes y dia

no me a funcionado con substring ni IndexOf

ya que son varios archivos y tienen distinto nombe, el cual solo leo el nombre del archivo para obtener esa informacion
todos los dias se aprende algo nuevo

.net

  • Miembro MUY activo
  • ***
  • Mensajes: 181
  • Nacionalidad: mx
    • Ver Perfil
Re:extraer dato numero de una cadena
« Respuesta #1 en: Miércoles 5 de Septiembre de 2012, 00:54 »
0
POrque no intentas realizando un split

Código: [Seleccionar]
     string archivo1 = "ejemplo_ejemplo_2012080200_to_2012080300_at_20120807_42323_1.txt";
            string[] Arraysplit = archivo1.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries); // me traera un arreglo de string delimitado por _ (guion bajo)
            string valor1 = Arraysplit[2]; // me traera 2012080200
            //luego puedes ir separando por ejemplo:

            string año = valor1.Substring(0, 4);
            string mes = valor1.Substring(4, 2);
            string dia = valor1.Substring(6, 2);

            //OOO puedes hacerle un substring

            string substr = valor1.Substring(0, valor1.Length - 2); //listo


Espero te ayude
La lógica lleva a más lógica

Apoyo a un mundo OPEN SOURCE!!!

Eso si es el paraíso

ematrix

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re:extraer dato numero de una cadena
« Respuesta #2 en: Miércoles 5 de Septiembre de 2012, 01:05 »
0
te urge deja hacerlo pero dos string de ejemplo no da mucha ayuda


ematrix

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re:extraer dato numero de una cadena
« Respuesta #3 en: Jueves 6 de Septiembre de 2012, 20:12 »
0
chekalo




Código: [Seleccionar]
void Button1Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Archivos txt o csv|*.txt";
openFileDialog1.FileName = "Seleccione un archivo de TXT o CVS";
openFileDialog1.Title = "Programa de Lectura";
openFileDialog1.InitialDirectory = "C:\\";
openFileDialog1.FileName = this.textBox1.Text;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
this.textBox1.Text = openFileDialog1.FileName;
}
textBox2.Text = "";


System.IO.StreamReader sr = new System.IO.StreamReader(@textBox1.Text, System.Text.Encoding.Default);

while (sr.Peek() != -1)
               {
                   
            string filadatos = sr.ReadLine();
             if (String.IsNullOrEmpty(filadatos))
            {
                continue;
            }
           const char Comma = '_';
           char[] delimiters = new char[] {Comma};
           string[] words = filadatos.Split(delimiters);
           
           foreach (string bloquecadena in words)
  {
   
                      int numero = 0;
                 bool bandera=true;
                 if (bloquecadena.Length >=8)
                 {
           try { // Validar Numero
           numero =int.Parse(bloquecadena);
                  // DateTime.TryParse(bloquecadena, out fecha_detectado);
                 
   } catch {
       bandera=false;
      continue;
       }
           
     if(bandera){
      //fecha_detectado=DateTime.Parse(bloquecadena);
     
       textBox2.Text=bloquecadena;
       MessageBox.Show("fecha encontrada");
 
     }
                 }// chekar longitud
                } //Fin longitud de texto
     

}