Visual Basic Foro
Programación => Visual Basic .NET / C# => Mensaje iniciado por: Juan Perezl en Octubre 20, 2015, 02:32:03 am
-
Hola que tal, solicito de su ayuda con este problema estoy trabajando con vb y estoy cargando el contenido de un archivo .csv ejemplo
"652394532592467968,"","","2015-10-09 08:05:52 +0000","Twitter Web Client","Hay ocasiones en la que mejor prevalecer #Sisepuede y seguir adelante.","","","",""
646843948586045440,"","","2015-09-24 00:29:49 +0000","<a href=""http://twitter.com"" rel=""nofollow"">Twitter Web Client</a>","#sisepuede Seguimos adelante :)","","","",""
en el archivo tengo aprox 1000 lineas, lo que quiero hacer en recortar todo y que solo quede el texto y pueda mostrarlo en un listbox
Hay ocasiones en la que mejor prevalecer #Sisepuede y seguir adelante
Ojala puedan ayudarme saludos
-
el fomato de cada linea es simpre igual? son siempre la misma cantidad de campos x linea?
Me imagino que cada linea esta separada por un CR - LF (salto de linea)
Si es asi, yo primero leeria todo el archivo y lo guardo en una variable.
Despues hago un split, cortando x VbCRLf, ahi ya tenes un array, en donde cada elemento es una linea.
Y despues recorriendo el array de lineas, con cada linea hago otro split separando por las comas.
Ahi tenes otro array, donde cada elemento es un campo, sabiendo en que index está el campo que te interesa, lo podes leer y obtener el texto que te interesa
-
Hola a ver si te sirve esto.
(http://snag.gy/9eKmg.jpg)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox2.Text = Split(TextBox1.Text, "Twitter Web Client")(1)
TextBox2.Text = Split(TextBox2.Text, ",")(1)
TextBox2.Text = Split(TextBox2.Text, """")(1)
End Sub
Se supone que en textbox1 hay el texto = "652394532592467968,"","","2015-10-09 08:05:52 +0000","Twitter Web Client","Hay ocasiones en la que mejor prevalecer #Sisepuede y seguir adelante.","","","",""
-
Hola.
Si fueran 10 campos separados por comas y el texto que te interesa siempre estuviera en el mismo campo, lo que haría es crear una matriz y luego con Split() separar los campos para luego tomar el que me interesa (en este caso, el que está en sexto lugar).
Jerónimo
-
Hola, Juan.
Aquí va el ejemplo que me pediste.
En primer lugar, al leer una línea del archivo CSV habría que quitar todas las comillas.
Tomando el ejemplo que pusiste y habiendo quitado las comillas, se me ocurre hacerlo de esta manera:
Dim Texto As String
Texto = "652394532592467968,,,2015-10-09 08:05:52 +0000,Twitter Web Client,Hay ocasiones en la que mejor prevalecer ?#?Sisepuede? y seguir adelante.,,,,"
Dim Matriz() As String
Matriz = Split(Texto, ",")
MsgBox Matriz(5)
Siendo así, un posible problema sería que en el texto dentro de un campo haya una coma, con lo cual se alteraría la matriz. Previendo eso podrías tener los campos separados por otro carácter en lugar de la coma (y, obviamente, utilizando ese mismo delimitador en la matriz).
Espero que te sirva.
Saludos.
Jerónimo