Capturar una subcadena entre > ...... <

Capturar una subcadena entre > ...... <

Postby Baxajaun » Fri Oct 23, 2015 10:48 am

Buenos días,

existe alguna función para capturar una subcadena entre > ......... < ?

Tengo la siguiente cadena:

<Cell><Data ss:Type="String">UHJvdmlkZXI9T3JhT0xFREIuT3JhY2xlO0RhdGEgU291cmNlPUJBQU5MTjtVc2VyIElkPUJBQU47UGFzc3dvcmQ9QkFBTg==</Data></Cell>

Necesito capturar lo que va entre > ... < es decir necesito capturar UHJvdmlkZXI9T3JhT0xFREIuT3JhY2xlO0RhdGEgU291cmNlPUJBQU5MTjtVc2VyIElkPUJBQU47UGFzc3dvcmQ9QkFBTg==

Alguna idea ?

Muchas gracias.

Saludos
User avatar
Baxajaun
 
Posts: 968
Joined: Wed Oct 19, 2005 2:17 pm
Location: Gatika. Bizkaia

Re: Capturar una subcadena entre > ...... <

Postby armando.lagunas » Fri Oct 23, 2015 12:09 pm

Hola

Esto te puede servir

Code: Select all  Expand view

cCadena := <Cell><Data ss:Type="String">UHJvdmlkZXI9T3JhT0xFREIuT3JhY2xlO0RhdGEgU291cmNlPUJBQU5MTjtVc2VyIElkPUJBQU47UGFzc3dvcmQ9QkFBTg==</Data></Cell>
nPos1 := RAT(">",cCadena)
nPos2 := RAT("</",cCadena)
miCadena := SUBSTR(cCadena,nPos1, nPos2)
 


Saludos
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: Capturar una subcadena entre > ...... <

Postby Carlos Mora » Fri Oct 23, 2015 1:01 pm

Si la subcadena siempre está encerrado en el mismo tag <data>, busco el cierre del tag '</data>', corto todo desde ahí, y luego la cadena que buscas es lo que queda desde el ultimo '<'

Code: Select all  Expand view

cCadena := '<Cell><Data ss:Type="String">UHJvdmlkZXI9T3JhT0xFREIuT3JhY2xlO0RhdGEgU291cmNlPUJBQU5MTjtVc2VyIElkPUJBQU47UGFzc3dvcmQ9QkFBTg==</Data></Cell>'
cCadena:= Left( cCadena, AT( '</Data>', cCadena) -1 ) // cCadena := '<Cell><Data ss:Type="String">UHJvdmlkZXI9T3JhT0xFREIuT3JhY2xlO0RhdGEgU291cmNlPUJBQU5MTjtVc2VyIElkPUJBQU47UGFzc3dvcmQ9QkFBTg=='
cCadena:= SubStr( cCadena, RAT(">",cCadena)+1 ) // cCadena := 'UHJvdmlkZXI9T3JhT0xFREIuT3JhY2xlO0RhdGEgU291cmNlPUJBQU5MTjtVc2VyIElkPUJBQU47UGFzc3dvcmQ9QkFBTg=='
 


Esto, claro, si lo que buscas en lo que esta en el tag Data. Lo que va entre > y < es muy generico, fijate que en el trozo del ejemplo hay tres cadenas: una entre <Cell><Data...>, la susodicha, y otra más entre </Data></Cell>.

otra solución sería hacer un "Tag Stripper", que remueva todo lo que esté encerrado entre < y >.
Tal vez con un poco más de explicación de las necesidades se puede buscar algo mejor.

Un saludo
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

Re: Capturar una subcadena entre > ...... <

Postby cnavarro » Fri Oct 23, 2015 2:28 pm

De momento, tambien algo de lo que hay aqui te puede servir

viewtopic.php?f=6&t=31216#p180700
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 79 guests