Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Convertir cadena de texto en array de varias columnas

Estas en el tema de Convertir cadena de texto en array de varias columnas en el foro de .NET en Foros del Web. Buenos días a todos. Estoy realizando una aplicación en C# usando vs2010 que lee un fichero de texto plano (.txt) y cada línea que cumple ...
  #1 (permalink)  
Antiguo 23/06/2014, 03:07
 
Fecha de Ingreso: junio-2014
Ubicación: Madrid
Mensajes: 3
Antigüedad: 10 años, 5 meses
Puntos: 0
Convertir cadena de texto en array de varias columnas

Buenos días a todos.

Estoy realizando una aplicación en C# usando vs2010 que lee un fichero de texto plano (.txt) y cada línea que cumple una condición (que dicha línea tenga los caracteres "SEPA"), lo guarda en una cadena de texto y las cadenas las guarda en un arraylist.

El problema radica en que necesito sacar información de cada uno de estos elementos del arraylist y entiendo que debería convertir las cadenas de texto en arrays de 4 x 1 dimensiones (cada linea del texto plano tendría 4 columnas, separadas por espacios en blanco (/t)). Necesito la segunda y la tercera columna de cada fila que cumple mi condición.

Muchas gracias de antemano por vuestra ayuda.

Adjunto el código que hasta ahora he desarrollado:


protected void LeerFichero_Click(object sender, EventArgs e)
{

if (CargarFichero.HasFile)
try
{
CargarFichero.SaveAs(Server.MapPath(CargarFichero. FileName) + CargarFichero.FileName); //Ruta del fichero cargado
int contador = 0;
string linea ="";


ArrayList lineasCambio = new ArrayList();
//Array que contendrá las filas con los datos a cambiar


// Lee el archivo línea a línea
System.IO.StreamReader file = new System.IO.StreamReader(CargarFichero.FileContent);
while ((linea = file.ReadLine()) != null)
{
//Filtramos para eliminar las filas que no nos interesan.
if (linea.Contains("SEPA"))
{
lineasCambio.Add(linea + Environment.NewLine);
Listado.Text += linea + Environment.NewLine;
}
contador++;
System.Console.WriteLine(lineasCambio);


}

file.Close();
foreach (string salida in lineasCambio)
Console.WriteLine(salida);
Console.ReadLine();

}
catch (Exception ex)
{
LabelBoton.Text = "ERROR: " + ex.Message.ToString();
}
else
{
LabelBoton.Text = "No ha seleccionado ningún archivo.";
}
}
  #2 (permalink)  
Antiguo 24/06/2014, 00:43
 
Fecha de Ingreso: junio-2014
Ubicación: Madrid
Mensajes: 3
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Convertir cadena de texto en array de varias columnas

Ya lo pude resolver por mi cuenta
La solución era usando el comando Split:

while ((linea = file.ReadLine()) != null)
{
//Filtramos para eliminar las filas que no nos interesan.
if (linea.Contains("SEPA"))
{
lineasCambio.Add(linea + Environment.NewLine);
Listado.Text += linea + Environment.NewLine;
}
contador++;

}


foreach (string elemento in lineasCambio)
{
string[] Separador = new string[] { "\t" };
lineaTratada = elemento.Split(Separador, StringSplitOptions.RemoveEmptyEntries);

}

Etiquetas: arraylist, c#, vs2010
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:37.