FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Capturar una subcadena entre > ...... <
Posts: 990
Joined: Wed Oct 19, 2005 02:17 PM
Capturar una subcadena entre > ...... <
Posted: 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

Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: Capturar una subcadena entre &gt; ...... &lt;
Posted: Fri Oct 23, 2015 12:09 PM
Hola

Esto te puede servir

Code (fw): Select all Collapse
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
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Re: Capturar una subcadena entre &gt; ...... &lt;
Posted: Fri Oct 23, 2015 01: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 (fw): Select all Collapse
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
鈥淚f you think education is expensive, try ignorance"
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Capturar una subcadena entre &gt; ...... &lt;
Posted: Fri Oct 23, 2015 02:28 PM

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

viewtopic.php?f=6t=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

Continue the discussion