POSICIÓN DE UNA PALABRA EN EL STRING

07/09/2005 - 13:35 por colt clint | Informe spam
Hola!


Esta cuestión - así como las demás - son para serem hechas en Visual
FoxPro!

Por favor me gustaría saber si es posible identificar la posición de una
palavra en una string (campo):

Por ejemplo:


Si la string o campo1 tiene la seguiente frase:

campo1 = Nosotros vamos a Ciudad-Real conocer el barrio del Torreal.

En otro campo Ud. tiene una palabra-llave (keyword):

campo2 = conocer

Hay un tercero campo con la palabra: VAMOS
campo3= vamos


Ahora yo te pregunto: Cuál es la posición de la palabra VAMOS en relación
a la palabra CONOCER en la frase:

Respuesta (a ser dada en un cuarto campo:
campo izquierda= posición = 4

campo derecha=posición 0

Porqué?

- Bien, lo que se entiende es lo seguinte, la palabra VAMOS en la frase
está a 4 palabras a la izquierda de la palabra-llave (CONOCER)

Yo creo que es muy dificil hacer esto en VFP - yo tengo algo semejante en
JS, pero necessito en VFP! - trabajando con TABLAS.


Muchas gracias por su atención.

Saludos

Colt

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similare

Leer las respuestas

#1 Luis María Guayán
07/09/2005 - 15:13 | Informe spam
Yo creo que es muy dificil hacer esto en VFP - yo tengo algo semejante en
JS, pero necessito en VFP! - trabajando con TABLAS.



Con VFP nada es dificil :-)))))

Mira este ejemplo:

lcCampo1 = "Nosotros vamos a Ciudad Real conocer el barrio del Torreal"
lcCampo2 = "conocer"
lcCampo3 = "vamos"
IF 0 <> ALINES(la,lcCampo1,.T.," ")
lnIzquierda = MAX(ASCAN(la,lcCampo2) - ASCAN(la,lcCampo3), 0)
lnDerecha = MAX(ASCAN(la,lcCampo3) - ASCAN(la,lcCampo2), 0)
? "Posicion a la izquierda", lnIzquierda
? "Posicion a la derecha", lnDerecha
ENDIF

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos
Respuesta Responder a este mensaje
#2 colt clint
07/09/2005 - 16:50 | Informe spam
Estimado Luis Maria,

Muy bien! Vale!


Basado en su ejemplo yo cambién algunos datos para utilisarlo en una
tabla, pero no funciona:


USE tableyy
DO WHILE .not. EOF()
IF 0 <> ALINES(la,lccampo1,.T.," ")
lnIzquierda = MAX(ASCAN(la,lcCampo2) - ASCAN(la,lcCampo3), 0)
lnDerecha = MAX(ASCAN(la,lcCampo3) - ASCAN(la,lcCampo2), 0)
? "Posicion a la izquierda", lnIzquierda
? "Posicion a la derecha", lnDerecha
REPLACE izquierda WITH lnIzquierda, derecha WITH lnDerecha
ENDIF
ENDDO

Lo que hizo de errado?

Gracias.

Saludos

Colt


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#3 Luis María Guayán
07/09/2005 - 17:20 | Informe spam
Debes hacerlo así (usando un ALLTRIM() en cada campo de la tabla)

USE tableyy
DO WHILE .not. EOF()
IF 0 <> ALINES(la,lccampo1,.T.," ")
lnIzquierda = MAX(ASCAN(la,ALLTRIM(lcCampo2)) -
ASCAN(la,ALLTRIM(lcCampo3)), 0)
lnDerecha = MAX(ASCAN(la,ALLTRIM(lcCampo3)) - ASCAN(la,ALLTRIM(lcCampo2)),
0)
? "Posicion a la izquierda", lnIzquierda
? "Posicion a la derecha", lnDerecha
REPLACE izquierda WITH lnIzquierda, derecha WITH lnDerecha
ENDIF
SKIP && Te falto esto !!
ENDDO



Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos

"colt clint" escribió en el mensaje
news:
Estimado Luis Maria,

Muy bien! Vale!


Basado en su ejemplo yo cambién algunos datos para utilisarlo en una
tabla, pero no funciona:


USE tableyy
DO WHILE .not. EOF()
IF 0 <> ALINES(la,lccampo1,.T.," ")
lnIzquierda = MAX(ASCAN(la,lcCampo2) - ASCAN(la,lcCampo3), 0)
lnDerecha = MAX(ASCAN(la,lcCampo3) - ASCAN(la,lcCampo2), 0)
? "Posicion a la izquierda", lnIzquierda
? "Posicion a la derecha", lnDerecha
REPLACE izquierda WITH lnIzquierda, derecha WITH lnDerecha
ENDIF
ENDDO

Lo que hizo de errado?

Gracias.

Saludos

Colt


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#4 colt clint
07/09/2005 - 18:32 | Informe spam
Estimado Luis Maria,

Muchas gracias!

Su script hace lo que debe hacer muy bien y será muy importante para mi -
puedes crer.

Cordiales saludos


Colt Clint


* Estoy escribiendo sin los acentos debido a problemas en la pagina

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
Respuesta Responder a este mensaje
#5 enrique
08/09/2005 - 21:50 | Informe spam
No te mueras nunca Luis Maria.


saludos

enrique
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida