SUBSTR()
 Extrae una subcadena de una cadena de caracteres
------------------------------------------------------------------------------
 Sintaxis

     SUBSTR(<cCadena>, <nInicio>, [<nCaracteres>]) --> cSubcadena

 Argumentos

     <cCadena> es la cadena de caracteres de la que va a extraerse una
     subcadena. Puede tener hasta 65.535 (64K) bytes, el tamaño máximo de
     cadena en CA-Clipper.

     <nInicio> es la posición inicial en <cCadena>. Si <nInicio> es
     positivo, es relativo al carácter situado en el extremo izquierdo de
     <cCadena>. Si es negativo, es relativo al carácter situado en el
     extremo derecho de <cCadena>.

     <nCaracteres> es el número de caracteres que hay que extraer. Si se
     omite, la subcadena empieza en <nInicio> y continúa hasta el final de
     la cadena. Si <nCaracteres> es mayor que el número de caracteres desde
     <nInicio> hasta el final de <cCadena>, los caracteres adicionales se
     ignoran.

 Devuelve

     SUBSTR() devuelve una cadena de caracteres.

 Descripción

     SUBSTR() es una función de caracteres que extrae una subcadena de otra
     cadena de caracteres o campo memo. SUBSTR() está relacionada con las
     funciones LEFT() y RIGHT() que extraen subcadenas empezando por los
     caracteres situados más a la izquierda y más a la derecha de <cCadena>,
     respectivamente.

     Las funciones SUBSTR(), RIGHT() y LEFT() se utilizan muy a menudo con
     AT() y RAT() para localizar la primera y/o última posición de una
     subcadena antes de extraerla. También se utilizan para mostrar o
     imprimir sólo una parte de una cadena de caracteres.

 Ejemplos

      Estos ejemplos extraen el nombre y apellido de una variable:

        cNombre:= "Juan Pedralbes"
        ? SUBSTR(cNombre, 1, 4)                 // Resultado: Juan
        ? SUBSTR(cNombre, 6)                    // Resultado: Pedralbes
        ? SUBSTR(cNombre, LEN(cNombre) + 2)     // Resultado: cadena nula
        ? SUBSTR(cNombre, -9)                   // Resultado: Pedralbes
        ? SUBSTR(cNombre, -9, 3)                // Resultado: Ped

      Este ejemplo utiliza SUBSTR() con AT() y RAT() para crear una
        función que extrae un nombre de fichero de una especificación de
        fichero:

        ? FichBase("C:\PRG\MIFICHE.OBJ")        // Resultado: MIFICHE.OBJ

        FUNCTION FichBase( cFichero )
           LOCAL nPos
           IF (nPos := RAT("\", cFichero)) != 0
              RETURN SUBSTR(cFichero, nPos + 1)
           ELSEIF (nPos := AT(":", cFichero)) != 0
              RETURN SUBSTR(cFichero, nPos + 1)
           ELSE
              RETURN cFichero
           ENDIF

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: RAT() RIGHT() STR()