Saltar al contenido

Extraer texto tras buscar una palabra.


NoWi

Recommended Posts

publicado

Buenas, 

 

He buscado por el foro, pero no he encontrado una solución a mi problema. Seguro que es una tontería, pero no logro dar con ello. 

Tengo un documento de texto. Al filtrar para buscar una palabra, me la encuentra en varias líneas. 

Ahora necesito sacar parte de esas líneas. 

Ejemplo:

Palabra a buscar: _palabra_

Línea encontrada: texto variable texto.variable_palabra_texto texto variable "12:39 15/04" texto variable

Necesitaría el texto que precede a la palabra buscada (de longitud variable), desde el "." hasta "_", la fecha y la hora que están entre "".

Luego ponerlo en columnas en una hoja de excel, pero en eso no hay problema. 

 

Muchas gracias de antemano. 

publicado

Buenas,

me autorespondo, por si a alguien le puede servir en algún momento.

 

For i = 0 To UBound(lineas)
	If InStr(1, lineas(i), "_palabra_") Then
		ini = InStr(1, lineas(i), ".") + 1
		fin = InStr(1, lineas(i), "_palabra_")
		variable = Mid(lineas(i), ini, fin - ini)
		' puedo cortar la línea para seguir buscando en la misma linea si lo necesitara
		linea = Mid(lineas(i), fin, Len(lineas(i)))
 		.
 		.
 		.
	End If
Next i

Lo que estoy mirando ahora es como optimizarlo, ya que un for línea a línea en un archivo con más de 60K líneas, pues me gustaría que fuera un poco más rápido. 

¿Se os ocurre otra forma de buscar?

Muchas gracias.

 

Saludos.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.