Position

4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 11 (Modifiée)


Position (àChercher; laChaîne{; départ{; longTrouvée{; *}}}) Numérique

ParamètreTypeDescription
àChercherAlphaChaîne à rechercher
laChaîneAlphaChaîne dans laquelle effectuer la recherche
départNumériquePosition dans laChaîne où débuter la recherche
longTrouvéeEntier longLongueur de la chaîne trouvée
**Si passé : recherche diacritique
RésultatNumériquePosition de la première occurrence de àChercher

Description

Position retourne la position de la première occurrence de àChercher dans laChaîne.

Si laChaîne ne contient pas àChercher, la fonction retourne zéro (0).

Si Position trouve une occurrence de àChercher, la fonction retourne la position du premier caractère de cette occurrence dans laChaîne.

Si vous demandez la position d'une chaîne vide à l'intérieur d'une chaîne vide, Position retourne zéro (0).

Par défaut, la recherche débute au premier caractère de laChaîne. Le paramètre facultatif départ vous permet de préciser le caractère auquel doit démarrer la recherche dans laChaîne.

Le paramètre longTrouvée, s'il est passé, retourne la longueur de la chaîne effectivement trouvée par la recherche. Ce paramètre est nécessaire pour pouvoir gérer correctement les lettres pouvant s'écrire à l'aide d'un ou plusieurs caractères (ex : æ et ae, ß et ss...).

A noter que lorsque le paramètre * est passé (mode diacritique, cf. ci-dessous), ces lettres ne sont pas considérées comme équivalentes (æ # ae) ; en mode diactritique, longTrouvée est toujours égal à la longueur de àChercher (si une occurrence est trouvée).

Le paramètre *, s'il est passé, indique que la recherche doit être diacritique, c'est-à-dire qu'elle doit tenir compte de la casse des caractères et des caractères accentués (a # A, à # a...)

Attention : Vous ne pouvez pas utiliser le caractère joker (@) avec Position. Si, par exemple, vous passez "abc@" dans àChercher, la fonction recherchera effectivement la chaîne "abc@" et non pas "abc suivi de toute valeur".

Exemples

(1) Les exemples suivants illustrent l'utilisation de Position. Les résultats sont assignés à la variable vRésultat. Les commentaires fournissent la valeur de vRésultat :

   vRésultat := Position ("ll"; "Billard") ` vRésultat prend la valeur 3 
   vRésultat := Position (vText1; vText2) ` Position de la première occurrence de vText1 dans vText2
   vRésultat := Position ("day"; "Today is the first day";1) ` vRésultat prend la valeur 3
   vRésultat := Position ("day"; "Today is the first day";4) ` vRésultat prend la valeur 20
   vRésultat := Position ("DAY"; "Today is the first day";1;*) ` vRésultat prend la valeur 0

   vRésultat := Position ("oe"; "Nœud";1;$long) ` vRésultat =2, $long = 1

(2) Dans l'exemple suivant, le paramètre longTrouvée permet de rechercher toutes les occurrences de "fluss" dans un texte, quelle que soit l'orthographe du mot :

   $départ:=1 
   Repeter
      vRésultat := Position ("fluss";$letexte;$départ;$longtrouvée)
      $départ:= $départ+$longtrouvée
   Jusque(vRésultat=0)

Référence

Opérateurs de comparaison, Sous chaine.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant