Buscar texto desconocido en una variable

Buscar texto desconocido en una variable

Postby D.Fernandez » Sat Jul 08, 2017 1:40 am

Hola amigos, estoy molestando nuevamente.

Tengo una variable cPaginaWeb, donde está en formato texto, todo el contenido de una página web.
Busco y encuentro un ctextoabuscar := ""moneda">D¢lar</p> </div> </td> <td>&nbsp;&nbsp;</td> <td> <div class="linea"> <p class="valor">"
Ahora necesito extraer los caracteres siguientes a ese cTextoaBuscar, que en realidad es la cotización del Dólar.

Muchas gracias.
Saludos
Ruben Dario Fernandez
Dario Fernandez
FWH 22.12, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
D.Fernandez
 
Posts: 455
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay

Re: Buscar texto desconocido en una variable

Postby AngelSalom » Sat Jul 08, 2017 4:54 pm

Tengo una variable cPaginaWeb, donde está en formato texto, todo el contenido de una página web.
Busco y encuentro un ctextoabuscar := ""moneda">D¢lar</p> </div> </td> <td>&nbsp;&nbsp;</td> <td> <div class="linea"> <p class="valor">"
Ahora necesito extraer los caracteres siguientes a ese cTextoaBuscar, que en realidad es la cotización del Dólar.

Code: Select all  Expand view

cValorDolar:=Substr(cPaginaweb, At ( cTextoaBuscar, cPaginaweb )+Len(cTextoaBuscar)+1, nAnchoValorDolar))
 


No lo he probado pero debería funcionar. Básicamente localizas la posición del cTextoaBuscar dentro de la cadena y empiezas a coger caracteres desde donde acaba cTextoaBuscar en cPAginaWeb.
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Buscar texto desconocido en una variable

Postby D.Fernandez » Sun Jul 09, 2017 9:56 pm

Angel muchas gracias.

Lo solucioné de la siguiente manera.
Code: Select all  Expand view
FUNCTION BROUCOTIZA()
LOCAL  cTipodecambio:= " "  ,cCotiaBuscar:= "",ct4, ctx := "D.lar\s*<.+?(\d+,\d+).+?(\d+,\d+)"  
                                                         
cTipodecambio := LEERCOTIZACION()

ct4 := HB_RegExAtx( ctx, cTipodecambio,.F.,.T.  )

cCotiCompra := SubStr( xTrim( ct4[2][1]),1,6)    /// me da la compra
cCotiVenta := SubStr( xTrim( ct4[3][1]),1,6)     /// me da la venta


RETURN(.T.)
//---------------------------------------//
FUNCTION LEERCOTIZACION()
LOCAL curl:="https://www.portal.brou.com.uy/cotizaciones/"
LOCAL oHttp:= CreateObject("winhttp.winhttprequest.5.1")

oHttp:SetTimeouts(30000, 30000, 30000, 30000 )
oHttp:Open("GET", cUrl, .f. )
oHttp:Send()
cTexToHTML:= oHttp:ResponseText()

RETURN(cTexToHTML)

   


Gracias Saludos
Ruben Dario Fernandez
Dario Fernandez
FWH 22.12, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
D.Fernandez
 
Posts: 455
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay

Re: Buscar texto desconocido en una variable

Postby Carlos Mora » Mon Jul 10, 2017 4:31 pm

¡Expresiones regulares!

Image
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Carlos Mora
 
Posts: 989
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 24 guests

cron