Position

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 11 (Modificado)


Position (aBuscar; laCadena{; inicio{; longEncont{; *}}}) Num

ParámetroTipoDescripción
aBuscarAlfaCadena a buscar
laCadenaAlfaCadena en la cual buscar
inicioNuméricoPosición en la cadena donde comenzar la búsqueda
longEncontEnt. largoLongitud de la cadena encontrada
**Si se pasa: búsqueda diacrítica
ResultadoNumPosición de la primera ocurrencia

Descripción

Position devuelve la posición de la primera ocurrencia de aBuscar en laCadena.

Si laCadena no contiene buscar, devuelve cero (0).

Si Position ubica una ocurrencia de aBuscar, la función devuelve la posición del primer carácter de esta ocurrencia en laCadena.

Si pregunta por la posición de una cadena vacía dentro de una cadena vacía, Position devuelve cero (0).

Por defecto, la búsqueda comienza en el primer carácter de laCadena. El parámetro opcional inicio permite precisar el carácter donde la búsqueda debe comenzar en laCadena.

El parámetro longEncont, si se pasa, devuelve la longitud de la cadena encontrada por la búsqueda. Este parámetro es necesario para poder gestionar correctamente cartas escritas con uno o más caracteres (ejemplo: æ y ae, ß y ss, etc.).

Tenga en cuenta que cuando se pasa el parámetro * (modo diacrítico, ver a continuación), estas letras no se consideran como equivalente (æ # ae); en modo diacrítico, longEncont siempre es igual a la longitud de aBuscar (si se encuentra una ocurrencia).

Si se pasa el parámetro *, indica que la búsqueda debe ser diacrítica, es decir que debe tener en cuenta caracteres en mayúsculas y minúsculas y los caracteres acentuados (a # A, à # a, etc.)

Advertencia: No puede utilizar el carácter arroba @ con Position. Por ejemplo, si pasa "abc@" en aBuscar, el comando buscará la cadena "abc@" y no "abc" seguido de otros caracteres.

Ejemplos

1. Este ejemplo ilustra el uso de Position. Los resultados, descritos en los comentarios, se asignan a la variable vlResult.

   vlResult := Position ("ll"; "Billar")  ` vlResult toma el valor 3 
   vlResult := Position (vtText1; vtText2)  ` Posición de la primera ocurrencia de vtText1 en vtText2
   vlResult := Position ("todo"; "todos los procesos dentro de un método";1) ` vlResult toma el valor 1
   vlResult := Position ("todo"; "todos los procesos dentro de un método";2) ` vlResult toma el valor 35
   vlResult := Position ("TODO"; "todos los procesos dentro de un método";1;*) ` vlResult toma el valor 0

   vlResult := Position ("œ"; "Bœuf";1;$largo) ` vlResult =2, $largo= 1

2. En el siguiente ejemplo, el parámetro longEncont permite buscar todas las ocurrencias de "aegis" en un texto, sin importar cómo está escrito:

   $inicio:=1 
   Repeat
      vlResult := Position ("aegis";$text;$inicio;$longEncont)
      $inicio:= $inicio+$longEncont
   Until(vlResult =0)

Ver también

Operadores de comparación, Substring.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente