Título: Alguien sabe buscar palabra de x caracteres y los demás caracteres a continuació Publicado por: usuario oculto en 2 Agosto 2010, 02:41 am ¿Alguien sabría como se hace en vb para buscar una palabra con por ejemplo 5 caracteres (en números) dentro de un texto y por ejemplo las 20 palabras que vayan a continuación?.(he buscado en google y no encuentro nada)
Ejemplo form1: label: buscar palabras con 4 carácteres en números y 2 caracteres cualquieras a continuación. textbox : ruta del archivo txt commandbutton: extraer contenido del archivo txt: elhacker.net es un foro en el que usuario1234 ha realizado un tutorial. se crea archivo ejemplo.txt con el contenido: 1234 ha ___________ No digo que me lo deis todo ya masticado (que estaría bien jaja) pero un poco de orientación a este pobre n00b en programación. He buscado en google como extraer palabras: 1. Option Explicit 2. 3. ' ------------------------------------------------------------------------------ 4. ' \\ -- Botón para seleccionar el archivo y leer el las palabras 5. ' ------------------------------------------------------------------------------ 6. Private Sub Command1_Click() 7. 8. Dim Vector() As String 9. Dim n As Integer 10. Dim linea As String 11. Dim texto As String 12. 13. ' -- Configurar diálogo 14. With CommonDialog1 15. .FileName = vbNullString 16. .DialogTitle = " Seleccione el archivo de texto " 17. ' -- Establecer el Filtro ( Archivos de texto y todas las extensiones ) 18. .Filter = "Txt|*.txt|Todos|*.*" 19. ' -- Abrir 20. .ShowOpen 21. 22. If .FileName = "" Then Exit Sub 23. 24. ' -- Abrir el archivo 25. Open .FileName For Input As #1 26. End With 27. 28. ' -- Lee el archivo de texto 29. While Not EOF(1) 30. ' -- Leer una línea 31. Line Input #1, linea 32. If linea = vbNullString Then linea = " " 33. ' -- Almacenar el contenido del archivo 34. texto = texto & linea 35. Wend 36. 37. Close 38. 39. ' -- Eliminar los espacios dobles 40. texto = Eliminar_Espacios(texto) 41. 42. ' - Cargar en el vector las palabras con la función Split 43. Vector = Split(texto, " ") 44. ' -- Eliminar items previos 45. List1.Clear 46. Dim xItem As Variant 47. ' -- Recorrer en un bucle para agregar los elemntos del Array al control List 48. For Each xItem In Vector 49. If Len(xItem) Then List1.AddItem xItem 50. Next 51. End Sub 52. 53. ' -------------------------------------------------------------------------------- 54. ' \\ -- Eliminar los espacios dobles con la función Replace 55. ' -------------------------------------------------------------------------------- 56. Public Function Eliminar_Espacios(texto As String) As String 57. 58. On Error GoTo ErrSub 59. 60. texto = Replace(texto, vbTab, " ") 61. texto = Replace(texto, vbCrLf, " ") 62. 63. Do While (InStr(texto, " ")) 64. texto = Replace(texto, " ", " ") 65. Loop 66. 67. Eliminar_Espacios = Trim$(texto) 68. 69. Exit Function 70. 71. ErrSub: 72. MsgBox Err.Description, vbCritical 73. End Function 74. 75. 76. Private Sub Form_Load() 77. Command1.Caption = "Seleccionar un archivo" 78. End Sub Título: Re: Alguien sabe buscar palabra de x caracteres y los demás caracteres a continuació Publicado por: Psyke1 en 2 Agosto 2010, 03:14 am Creo que con algo asi bastaria, si te he entendido bien:
Código
Ejemplo: Código
Devuelve: Citar ejemplo 123 DoEvents¡! :P Título: Re: Alguien sabe buscar palabra de x caracteres y los demás caracteres a continuació Publicado por: usuario oculto en 2 Agosto 2010, 15:19 pm cuanto lo pruebe te informo
muchas gracias Título: Re: Alguien sabe buscar palabra de x caracteres y los demás caracteres a continuació Publicado por: Psyke1 en 2 Agosto 2010, 18:36 pm Ahora que me doy cuenta al leerlo otra vez...
Esa funcion solo te sacaria un resultado, es decir, si en txt tienes mas veces la palabra a buscar solo sacaria el primero que encuentro... :-\ Pero bueno, teniendo eso como base no te resultara muy dificil modificarlo a tu gusto... Solo tienes que ir guardando resultados e un Array o en una Collection... Intentalo, si no postea y te hecho una mano! ;) DoEvents¡! :P |