SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: alexisgondola en Martes 4 de Septiembre de 2012, 00:38
-
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
-
POrque no intentas realizando un split
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
-
te urge deja hacerlo pero dos string de ejemplo no da mucha ayuda
-
chekalo
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
}