PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Recherche de la chaîne de caractères
  • Gestion des ambiguïtés
  • Fonction PositionOccurrence et UNICODE
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Recherche la Xème position d'une chaîne de caractères dans une chaîne de caractères. Il est également possible de parcourir toutes les positions d'une sous-chaîne dans une chaîne.
Il est également possible de rechercher la Xième position d'une des chaîne de caractères présentes dans un tableau.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Versions 21 et supérieures
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Apple Watch Cette fonction est désormais disponible en mode Apple Watch.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Exemple
n = PositionOccurrence("Antananarivo, Madagascar", "g", 1) // Renvoie 19
n = PositionOccurrence("Antananarivo, Madagascar", "zen", 1) // Renvoie 0
n = PositionOccurrence("Antananarivo, Madagascar", "n", 1) // Renvoie 2
n = PositionOccurrence("Antananarivo, Madagascar", "n", 2) // Renvoie 5
// Recherche du 3ème "a" en partant de la fin :
// La position est donnée en partant du début
n = PositionOccurrence("Antananarivo, Madagascar", "a", 3, DepuisFin)
// Renvoie 18
// Recherche d'un tableau de chaînes
n = PositionOccurrence("Antananarivo, Madagascar", ["an", "ar"], 1) // Renvoie 4
n = PositionOccurrence("Antananarivo, Madagascar", ["an", "ar"], 2) // Renvoie 6
n = PositionOccurrence("Antananarivo, Madagascar", ["an", "ar"], 3) // Renvoie 8
n = PositionOccurrence("Antananarivo, Madagascar", ["an", "ar"], 4) // Renvoie 23
// Parcours des positions de toutes les lettres "a" et "A"
MaChaîne est une chaîne = "Antananarivo, Madagascar"
MaPosition est un entier = PositionOccurrence(MaChaîne, "a", rangPremier, SansCasse)
TANTQUE MaPosition <> 0
        Trace(MaPosition) // Renvoie 1, 4, 6, 8, 16, 18, 20, 23
        MaPosition = PositionOccurrence(MaChaîne, "a", rangSuivant, SansCasse)
FIN
// Parcours des positions de toutes les lettres "a", "A", "r" et "R"
MaChaîne est une chaîne = "Antananarivo, Madagascar"
MaPosition est un entier = PositionOccurrence(MaChaîne, ["a", "r"], rangPremier, SansCasse)
TANTQUE MaPosition <> 0
        Trace(MaPosition) // Renvoie 1, 4, 6, 8, 9, 16, 18, 20, 23, 24
        MaPosition = PositionOccurrence(MaChaîne, ["a", "r"], rangSuivant, SansCasse)
FIN
// Parcours des positions de toutes les lettres "an" et "ar"
MaChaîne est une chaîne = "Antananarivo, Madagascar"
MonTableau est un tableau de 2 chaînes
TableauAjoute(MonTableau, "an")
TableauAjoute(MonTableau, "ar")
MaPosition est un entier = PositionOccurrence(MaChaîne, MonTableau, rangPremier, SansCasse)
TANTQUE MaPosition <> 0
        Trace(MaPosition) // Renvoie 1, 4, 6, 8, 23
        MaPosition = PositionOccurrence(MaChaîne, MonTableau, rangSuivant, SansCasse)
FIN
Syntaxe

Position d'une sous-chaîne Masquer les détails

<Résultat> = PositionOccurrence(<Chaîne initiale> , <Chaîne à rechercher> , <Rang de l'occurrence recherchée> [, <Options de recherche>])
<Résultat> : Entier
Si <Chaîne à rechercher> est une chaîne de caractères, position du premier caractère de l'occurrence recherchée dans la chaîne initiale ou 0 si la chaîne recherchée n'a pas été trouvée.
Si <Chaîne à rechercher> est un tableau de chaînes de caractères, position du premier caractère de la première chaîne trouvée parmi le tableau de chaînes ou 0 si aucune chaîne du tableau n'a été trouvée.
<Chaîne initiale> : Chaîne de caractères (avec guillemets)
Chaîne de caractères dans laquelle la recherche doit être effectuée (taille maximale : 2 Go).
<Chaîne à rechercher> : Chaîne de caractères (avec guillemets) ou Tableau de chaînes de caractères
Ce paramètre peut correspondre à :
  • La chaîne de caractères à rechercher dans la chaîne initiale.
  • Un tableau de chaînes à rechercher dans la chaîne initiale.
Versions 16 et supérieures
PHP Il est désormais possible d'utiliser un tableau de chaînes.
Nouveauté 16
PHP Il est désormais possible d'utiliser un tableau de chaînes.
PHP Il est désormais possible d'utiliser un tableau de chaînes.
<Rang de l'occurrence recherchée> : Entier
Numéro de l'occurrence de la <Chaîne à rechercher>. <Résultat> contiendra la position de cette occurrence.
Si ce paramètre est inférieur à 1, <Résultat> vaut 0.
Si ce paramètre est supérieur au nombre de caractères de la <Chaîne initiale>, <Résultat> est égal à 0.
<Options de recherche> : Constante optionnelle
Indique le sens du parcours et les options de la recherche :
DepuisDébut
(Valeur par défaut)
Recherche effectuée du premier caractère de la chaîne vers le dernier
DepuisFinRecherche effectuée du dernier caractère de la chaîne vers le premier
MotCompletRecherche un mot complet (entouré par des caractères de ponctuation ou des espaces)
SansCasseRecherche sans tenir compte de la casse (différences majuscules / minuscules) ou des accents

Parcours des positions d'une chaîne dans une sous-chaîne Masquer les détails

<Résultat> = PositionOccurrence(<Chaîne initiale> , <Chaîne à rechercher> , <Options de parcours> [, <Options de recherche>])
<Résultat> : Entier
Si <Chaîne à rechercher> est une chaîne de caractères, position du premier caractère de l'occurrence recherchée suivante ou précédente (selon le sens du parcours) dans la chaîne initiale ou 0 à la fin du parcours.
Si <Chaîne à rechercher> est un tableau de chaînes de caractères, position du premier caractère de l'occurrence suivante ou précédente (selon le sens de parcours) parmi le tableau de chaînes ou 0 à la fin du parcours.
<Chaîne initiale> : Chaîne de caractères (avec guillemets)
Chaîne de caractères dans laquelle la recherche doit être effectuée (taille maximale : 2 Go).
<Chaîne à rechercher> : Chaîne de caractères (avec guillemets) ou Tableau de chaînes de caractères
Ce paramètre peut correspondre à :
  • La chaîne de caractères à rechercher dans la chaîne initiale.
  • Un tableau de chaînes à rechercher dans la chaîne initiale.
Versions 16 et supérieures
PHP Il est désormais possible d'utiliser un tableau de chaînes.
Nouveauté 16
PHP Il est désormais possible d'utiliser un tableau de chaînes.
PHP Il est désormais possible d'utiliser un tableau de chaînes.
<Options de parcours> : Constante de type Entier
Sens de parcours :
rangDernierDébute un parcours des sous-chaînes séparées par la <Chaîne à rechercher> spécifiée en partant de la fin de la chaîne.
rangPrécédentContinue un parcours amorcé par la constante rangDernier
rangPremierDébute un parcours des sous-chaînes séparées par la <Chaîne à rechercher> spécifiée en partant du début de la chaîne.
rangSuivantContinue un parcours amorcé par la constante rangPremier
<Options de recherche> : Constante optionnelle
Indique le sens du parcours et les options de la recherche :
DepuisDébut
(Valeur par défaut)
Recherche effectuée du premier caractère de la chaîne vers le dernier
DepuisFinRecherche effectuée du dernier caractère de la chaîne vers le premier
MotCompletRecherche un mot complet (entouré par des caractères de ponctuation ou des espaces)
SansCasseRecherche sans tenir compte de la casse (différences majuscules / minuscules)
Remarques

Recherche de la chaîne de caractères

Par défaut, la recherche est sensible à la casse : la chaîne recherchée doit avoir la même casse que la chaîne à trouver dans la chaîne. Pour ne par tenir compte de la casse, utilisez la constante SansCasse.

Gestion des ambiguïtés

Lorsque les chaînes à rechercher sont des sous-chaînes d'autres chaînes présentes dans le tableau, ce sont toujours les chaînes trouvées les plus longues qui sont prises en compte.
Exemple : Si le tableau de chaînes ["bon", "bonjour", "bonsoir"] doit être recherché dans "Bien le bonjour mon bon monsieur", la première occurrence trouvée sera "bonjour" (et non pas "bon").
WINDEVWEBDEV - Code ServeurEtats et RequêtesAndroidWidget AndroidWindows MobileUniversal Windows 10 AppJavaPHPAjaxCode Utilisateur (MCU)

Fonction PositionOccurrence et UNICODE

Les paramètres <Chaîne initiale> et <Chaîne à rechercher> peuvent correspondre tous les deux :
  • soit à des chaînes ANSI.
  • soit à des chaînes UNICODE.
  • soit à des buffers.
Il est possible d'utiliser des chaînes ANSI, Unicode et des buffers dans les différents paramètres de la fonction.
La règle de conversion utilisée est la suivante pour les systèmes Ansi (Windows ou Linux) :
  • Si l'une au moins des chaînes est un buffer, toutes les chaînes sont converties en buffer, et l'opération est réalisée avec des buffers,
  • sinon, si l'une au moins des chaînes est Unicode, toutes les chaînes sont converties en Unicode et l'opération est réalisée en Unicode,
  • sinon l'opération est réalisée en Ansi.
La règle de conversion utilisée est la suivante pour les systèmes Unicode (Windows CE) :
  • Si l'une au moins des chaînes est un buffer, toutes les chaînes sont converties en buffer, et l'opération est réalisée avec des buffers,
  • sinon l'opération est réalisée en Unicode.
Pour plus de détails, consultez Gestion de l'UNICODE.
Composante : wd240vm.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire