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

Eliminar informacion entre caracter (|)

Estas en el tema de Eliminar informacion entre caracter (|) en el foro de .NET en Foros del Web. Tengo un archivo .txt el cual contiene alrededor de 100,000 renglones..cada renglon cuenta con informacion dividida por el simbolo (|)...necesito que al final del renglon ...
  #1 (permalink)  
Antiguo 18/05/2012, 14:05
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Eliminar informacion entre caracter (|)

Tengo un archivo .txt el cual contiene alrededor de 100,000 renglones..cada renglon cuenta con informacion dividida por el simbolo (|)...necesito que al final del renglon me elimine la informacion que esta dentro de los ultimos cuatro simbolos (|),y lo deje en blanco,alguien tiene una idea de como hacer eso...?...gracias


|XAXX010101000|I|43904|2010185767|13/04/2012 09:42:37|81.32|8.95|1|I||||
|CUMA6703319P4|II|7783|2010185767|13/04/2012 10:24:02|172.55|18.98|1|E||||
|HCO110614F45|I|43907|2010185767|13/04/2012 09:50:06|180.78|19.89|1|I||||
|XAXX010101000|I|43909|2010185767|13/04/2012 10:04:48|123.92|13.63|1|I||||
|GARO671106JN8|I|43911|2010185767|13/04/2012 10:09:48|395.19|43.47|1|I||||
|RISM580815SN2|I|43908|2010185767|13/04/2012 10:02:16|84.94|9.34|1|I||||
|XAXX010101000|I|43912|2010185767|13/04/2012 10:12:06|487.61|53.64|1|I||||
|XAXX010101000|I|43910|2010185767|13/04/2012 10:05:30|14.80|1.63|1|I||||
|MAFJ7109204G6|I|43913|2010185767|13/04/2012 10:14:11|239.56|26.35|1|I||||
|XAXX010101000|I|43923|2010185767|13/04/2012 10:29:31|524.46|57.69|1|I||||
|XAXX010101000|I|43915|2010185767|13/04/2012 10:16:30|124.39|13.68|1|I||||
|XAXX010101000|I|43916|2010185767|13/04/2012 10:19:25|112.57|12.38|1|I||||
|XAXX010101000|I|43914|2010185767|13/04/2012 10:14:45|46.64|5.13|1|I||||
  #2 (permalink)  
Antiguo 18/05/2012, 14:37
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Eliminar informacion entre caracter (|)

Hola mrprogman, por ejemplo esta linea
Cita:
|CUMA6703319P4|II|7783|2010185767|13/04/2012 10:24:02|172.55|18.98|1|E||||
Muestrame el resultado que quieres obtener de esa linea. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 18/05/2012, 15:41
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Eliminar informacion entre caracter (|)

Deberia de quedar asi:

|CUMA6703319P4|II|7783|2010185767|13/04/2012 10:24:02|172.55|18.98|1|||||

considerando que hay varias combinaciones...como por ejemplo

|CUMA6703319P4|II|7783|2010185767|13/04/2012 10:24:02|172.55|18.98|1|2012
10:24:02||2012 10:24:02||


Pero el resultado es tener los ultimos cuatro campos limpios..saludos y gracias por tu respuesta
  #4 (permalink)  
Antiguo 18/05/2012, 16:09
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Eliminar informacion entre caracter (|)

Hola mrprogman, eso lo puedes hacer con una lectura de archivo con el streamreader :
Código vb:
Ver original
  1. 'El fullpath de tu archivo
  2. Dim archivo As String = "C:\Archivos de Programas\...."
  3.  
  4. 'Creo un StremReader para leer el archivo
  5. Dim sr As New System.IO.StreamReader(archivo)
  6.  
  7. 'Recorro con el peek linea por linea mientras no llegue al final
  8.        While sr.Peek() <> -1
  9.             ' Leer la linea
  10.            Dim s As String = sr.ReadLine()
  11.             'Muestro las lineas
  12.            MessageBox.Show(s)
  13.         End While
  14.         'Cierro el StreamReader
  15.        sr.Close()
Hasta aqui lees las lineas...
ahora te muestro la eliminacion del contenido de las ultimas 4 con 2 textbox y 1 boton, en el 1er textbox coloca la linea que deseas modificar, y finalmente en el en el evento click del boton esto:
Código vb:
Ver original
  1. Dim lista() As String
  2.         lista = TextBox1.Text.Split("|")
  3.         Dim partida = lista.Length - 5
  4.         Dim resultado As String = "|"
  5.  
  6.         For i As Integer = 0 To lista.Length - 1
  7.             'ListBox1.Items.Add(lista(i).ToString())
  8.            If i >= partida Then
  9.                 resultado += "|"
  10.             Else
  11.                 resultado += lista(i) + "|"
  12.             End If
  13.             TextBox2.Text = resultado
  14.         Next
Veras que te elimina los 4 ultimos contenidos.
Tu chamba aqui ahora es combinarlos. No te la voy a regalar facil tampoco. Tienes que aprender. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 18/05/2012, 16:11
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Eliminar informacion entre caracter (|)

Hola que tal, jeje creo ke no entendi muy bien tu ejemplo, pero haber si lo que cache es lo que quieres:

1.- En C#, se me ocurre leer el tamaño de la cadena.
2.- Con un substring del tamaño de la cadena, tomar los 4 caracteres y compararlos, si son iguales a ||||, que tome la cadena si esos caracteres, de lo contrario que tome completa la cadena.

Como te digo, es lo que se me ocurre.
  #6 (permalink)  
Antiguo 18/05/2012, 16:35
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Eliminar informacion entre caracter (|)

Lo voy a revisar y luego te digo como me fue..saludos y gracias por sus respuestas..

Etiquetas: informacion, caracteres
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 13:21.