Cadena de caracteres

Ana
24 de Octubre del 2003
quiero saber si hay alguna función q me ayude a extraer una subcadena de una cadena de caracteres si es q existe... por ejemplo si tengo datos como "HOSPEDAJE DE 30 DIAS" ó "ALIMENTACION DE 7 DIAS" y me gustaría extraer solo la cantidad de días en este caso el 30 y el 7. Les agradecería enormemebte si me puediran ayudar. Bye

Ana
24 de Octubre del 2003
el detalle con esa funcion!! es q no puedo poner estática la pisicion inicial de donde quiero sacar la cadena ni tamoco cuantos caracteres sacar.. como veras no me sirve de mucho esa funcion y es por eso q queria saber si habia otra. Yo necesito decir existe la cadena A en B? ambas como variable. Alguien más me puede ayudar?

Raul
24 de Octubre del 2003
Creo que quieres identificar los digitos que se encuentran la cadena de caracteres. Si?

Bueno primero determinas el largo de la cadena.
Luego ejecutas un bucle (do while) para el largo de la cadena; logico con el Substr()
pero la condicionante es la funcion ISDIGIT(); cuando lo encuentre lo guardas en una variable contadora y Voila!!!! obtendras tus digitos que se encuentren dentro de la cadena.
Espero te ayude

pp
24 de Octubre del 2003
Deberías leerte la ayuda de vez en cuando, tu función es la siguiente:

SUBSTR( ) (Función)

Devuelve un número de caracteres específico de una expresión de caracteres o un campo memo.

Sintaxis

SUBSTR(cExpresión, nPosiciónInicial [, nCaracteresDevueltos])

Tipos devueltos

Character

Argumentos

cExpresión

Especifica la expresión de caracteres o el campo memo desde el cual se devuelve la cadena de caracteres.

PosiciónInicial

Especifica la posición en la expresión de caracteres o en la cExpresión del campo memo desde la que se devuelve la cadena de caracteres. El primer carácter de cExpresión es la posición 1.

Si TALK toma el valor SET ON y nPosiciónInicial es mayor que el número de caracteres de cExpresión, Visual FoxPro generará un mensaje de error. Si TALK toma el valor SET OFF, se devuelve la cadena vacía.

nCaracteresDevueltos

Especifica el número de caracteres que se debe extraer de cExpresión. Si se omite nCaracteresDevueltos, los caracteres se extraerán hasta llegar al final de la expresión de caracteres.

Comentarios

SUBSTR( ) devuelve una cadena de caracteres de una expresión de tipo Character o de un campo memo, a partir de la posición especificada de la expresión de caracteres y hasta el número especificado de caracteres.

Cuando utilice SUBSTR( ) con campos memo en un comando SELECT – SQL, incluya la función PADR( ) en SUBSTR( ) de modo que los campos memo vacíos o de longitud variable produzcan resultados coherentes cuando se conviertan a cadenas de caracteres.

SUBSTR( ) no devolverá ningún valor para un campo memo cuando se ejecute en la ventana Depuración. Para devolver un valor en la ventana Depuración, incluya el nombre del campo memo en ALLTRIM( ) e incluya ALLTRIM( ) en SUBSTR( ).