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

[Ayuda]Buscar en un TXT

Estas en el tema de [Ayuda]Buscar en un TXT en el foro de .NET en Foros del Web. Nesesito buscar en un TXT XXX palabra y si es posible que te diga en que Linea Está. Saludos...
  #1 (permalink)  
Antiguo 25/09/2005, 19:20
Avatar de SKL®  
Fecha de Ingreso: agosto-2005
Ubicación: San PEdro Buenos Aires (Argentina)
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
[Ayuda]Buscar en un TXT

Nesesito buscar en un TXT XXX palabra y si es posible que te diga en que Linea Está.


Saludos
  #2 (permalink)  
Antiguo 26/09/2005, 07:00
Avatar de aristotelisco  
Fecha de Ingreso: marzo-2005
Ubicación: Oxnard CA USA
Mensajes: 151
Antigüedad: 19 años, 7 meses
Puntos: 0
Pudes usar un StreamReader que se encuentra en el Namespace System.IO

No recuerdo los metodos, pero estoy seguro de que tiene un read para lineas y un read para todo el documento.

Lo que regresan estos metodos es un String, allí puedes usar el IndexOf y le pasas la palabra a buscar, si se encuentra, te va aregresar el indice en donde comienza esa palabra, si no esta te regresa -1.
__________________
Atte:
Alex Reyes

www.alexreyes.net
  #3 (permalink)  
Antiguo 26/09/2005, 09:27
Avatar de SKL®  
Fecha de Ingreso: agosto-2005
Ubicación: San PEdro Buenos Aires (Argentina)
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
:O Gracias.
Pero soy medio NOOB con esta parte de vb.net :S no podrias poner 1 codigo de ejemplo?.

Gracias y discupa las molestias
  #4 (permalink)  
Antiguo 28/09/2005, 08:04
Avatar de aristotelisco  
Fecha de Ingreso: marzo-2005
Ubicación: Oxnard CA USA
Mensajes: 151
Antigüedad: 19 años, 7 meses
Puntos: 0
Código

Código:
Dim sr As StreamReader = New StreamReader("TestFile.txt")
Dim line As String
Dim x As Integer = 0
' Read and display the lines from the file until the end 
' of the file is reached.
      Do 
          x += 1
          line = sr.ReadLine()
          if line.IndexOf(vPalabraABuscar) <> -1 then
               Response.Write("El valor si se encuentra en la linea " & x.ToString) ' Response es para ASP.Net, si usas WinForms, guarda el valor en algun label o TextBox.
          end if
      Loop Until line Is Nothing
sr.Close()
El Método ReadToEnd te pone todo el contenido del archivo en un String, si el archivo no es muy grande, y no te intresa saber la linea en la que se encuentra tu palabra, puedes usar este para evitarte el ciclo Do.
__________________
Atte:
Alex Reyes

www.alexreyes.net
  #5 (permalink)  
Antiguo 28/09/2005, 20:23
Avatar de SKL®  
Fecha de Ingreso: agosto-2005
Ubicación: San PEdro Buenos Aires (Argentina)
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Muchas Gracias :D me sirvio de mucho. te eh agregado al MSN porque nesesito que me respondas algunas preguntas si no es molestia. porque estoy en un proyecto...

Saludos y gracias
  #6 (permalink)  
Antiguo 28/09/2005, 20:29
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 8 meses
Puntos: 50
Solo una sugerencia.. recomendaría hacer un while en vez de un Do while para evitar problemas con archivos vaciós.

yo haría el code así:

Cita:
Dim sr As StreamReader = New StreamReader("TestFile.txt")
Dim line As String
Dim x As Integer = 0
while sr.Peek <> -1
x += 1
line = sr.ReadLine()
if line.IndexOf(vPalabraABuscar) <> -1 then
Response.Write("El valor si se encuentra en la linea " & x.ToString)
End If
End While
sr.Close()
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #7 (permalink)  
Antiguo 29/09/2005, 08:42
Avatar de aristotelisco  
Fecha de Ingreso: marzo-2005
Ubicación: Oxnard CA USA
Mensajes: 151
Antigüedad: 19 años, 7 meses
Puntos: 0
Me gusta lo del while, el código Do While lo saqué directamente del MSDN.
__________________
Atte:
Alex Reyes

www.alexreyes.net
  #8 (permalink)  
Antiguo 29/09/2005, 10:41
Avatar de SKL®  
Fecha de Ingreso: agosto-2005
Ubicación: San PEdro Buenos Aires (Argentina)
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
OK, la cosa en realidad es asi.
Nesesito sobreescribir un Archivo txt. pero esta es la dificultad. lo qeu tengo que sobreescribir nose lo que es y esta en medio de un txt intocable.

Osea que solo tengo que Modificar la parte que nesesito.

Les Envio un ejemplo.

Descargar

Ahi estan todos los archivos que tengo que reemplazar.

Los que dicen "127.0.0.1" son las IP qeu tengo que poner (reemplazar)
y donde dice "Reemplazar!" tengo que Agragar Texto.

Saludos espero que me ayuden a resolver este embrollo :S

Aclaracion Todo esto es para Visual Basic.NET

Última edición por SKL®; 29/09/2005 a las 10:52
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 16:55.