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

Borrar caracteres de .txt

Estas en el tema de Borrar caracteres de .txt en el foro de .NET en Foros del Web. saludos a todos, tengo un archivo .txt dentro del cual debo de borrar unos caracteres algo asi antes |LOMH640224MF5|A|102518|2010185767|09/07/2011 09:53:46|2726.26|299.89|1|I|38481000026,0,36111004 515,36110006370,36111001184,36111004515,3611100595 1,39651000883,39651001228|04/02/2011,08/07/2011,20/05/ y debe de ...
  #1 (permalink)  
Antiguo 18/08/2011, 17:04
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Borrar caracteres de .txt

saludos a todos, tengo un archivo .txt dentro del cual debo de borrar unos caracteres algo asi

antes

|LOMH640224MF5|A|102518|2010185767|09/07/2011 09:53:46|2726.26|299.89|1|I|38481000026,0,36111004 515,36110006370,36111001184,36111004515,3611100595 1,39651000883,39651001228|04/02/2011,08/07/2011,20/05/

y debe de quedar asi:

|LOMH640224MF5|A|102518|2010185767|09/07/2011 09:53:46|2726.26|299.89|1|I||||

como la ven.?..se podra eliminar esos datos..considerando q es un archivo q tiene 68862 lineas..y q debe de leerlas una x una y encontrar ese excedente.....saludos
  #2 (permalink)  
Antiguo 18/08/2011, 18:43
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Borrar caracteres de .txt

Si que se podria, recorriendo el fichero mediante ReadLine() y luego usando funciones de búsqueda de caracteres para saber que partes eliminar.
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 19/08/2011, 06:33
 
Fecha de Ingreso: octubre-2009
Mensajes: 22
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Borrar caracteres de .txt

Para hacerlo es importante saber la estructura del fichero. Me explico, es siempre a partir del --> | (separador) de la 9ª posición donde quieres eliminar ??

Si es variable es mucho mas dificil.

Si la estructura es fija podrias recorrer las lineas , acumular los caracteres de saparación en un contador, si es 9ª, guardar la cadena desde la posicion del separador hasta el siguiente y hacer un

Replace(LINEA_ARCHIVO, CadenaEntreSeparadores,"").

Todo esto dentro de un bucle ....
  #4 (permalink)  
Antiguo 19/08/2011, 07:43
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: Borrar caracteres de .txt

Como dice O_pelusa lo que deseas eliminar es apartir del 9ª | ? por esa es la unica manera que veo de hacer eso sin eliminar los "|"... puedes pasar tu texto a un array de string y recorrerlo con un for contanto los "|" y eliminando apartir del 9º simbolo y adjuntando si es igual a "|". Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 19/08/2011, 11:13
 
Fecha de Ingreso: junio-2011
Mensajes: 329
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Borrar caracteres de .txt

Yo creo q contar los caracteres es la mejor opcion, hice este codigo pero para borrar ciertos caracteres:

Dim Fs As FileStream = New FileStream("\\Dell\compartido\agosto\1MRM0412304Y9 072011.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)
Dim sw As New StreamWriter(Fs)
Dim sr As New StreamReader(Fs)
Dim str As String
str = sr.ReadToEnd()
str = str.Replace("|08/07/2011|", "||")
str = str.Replace("|0|", "||")
'str = str.Replace(vbCrLf, "")
Fs.Position = 0
Fs.SetLength(str.Length)
sw.Write(str)
sw.Flush()
MessageBox.Show("OK")
sw.Close()
Fs.Close()

como podria ser para contar los caracteres..?..saludos y gracias por sus respuestas.
  #6 (permalink)  
Antiguo 19/08/2011, 11:55
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: Borrar caracteres de .txt

Podrias hacer esto :

Código vb:
Ver original
  1. Dim Fs As FileStream = New FileStream("\\Dell\compartido\agosto\1MRM0412304Y9 072011.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)
  2. Dim sw As New StreamWriter(Fs)
  3. Dim sr As New StreamReader(Fs)
  4. Dim str As String
  5. Dim contador As Integer
  6. Dim total as Integer
  7. Dim nuevaCadena As String = String.Empty
  8. Dim a As Char()
  9. str = sr.ReadToEnd()
  10. a = str.ToCharArray
  11.  
  12. total = str.Length() - 1
  13.  
  14. For i as Integer = 0 To  total
  15.  
  16. If a(i).ToString.Equals("|") Then
  17. contador = contador + 1
  18. End If
  19.  
  20. If contador <= 10 Then
  21. nuevaCadena = nuevaCadena & a(i).ToString
  22. End If
  23.  
  24. Next
  25.  
  26. sw.Write(nuevaCadena)
  27. sw.Flush()
  28. MessageBox.Show("OK")
  29. sw.Close()
  30. Fs.Close()

Pruebalo y me comentas. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: borrar, caracteres, txt
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 10:30.