Permet de tester si une chaîne de texte commence une autre chaîne de texte.

Description

La fonction StartsWith teste si une chaîne de texte commence par une autre. Le test n’est pas sensible à la casse. La valeur de retour est une valeur booléenne true ou false.

Utilisez StartsWith avec la fonction Filter pour rechercher dans les données de votre application. Vous pouvez également utiliser l’opérateur in ou la fonction Search pour rechercher dans l’intégralité d’une chaîne de texte, et pas uniquement au début. Votre choix dépend des besoins de votre application et des fonctions pouvant être déléguées pour votre source de données particulière. Si l’une de ces fonctions ne peut pas être déléguée, un point bleu apparaît au moment de l’autorisation pour vous informer de cette limitation.

Syntaxe

StartsWith( Texte, Texte_début )

  • Texte – Obligatoire. Texte à tester.
  • Texte_début – Obligatoire. Texte à rechercher au début de Texte. Si Texte_début est une chaîne vide, StartsWith renvoie la valeur true.

Exemples

Formule Description Résultat
StartsWith( "Hello World", "hello" ) Teste si "Hello World" commence par "hello". Le test n’est pas sensible à la casse. true
StartsWith( "Good bye", "hello" ) Teste si "Good bye" commence par "hello". false
StartsWith( "Always say hello", "hello" ) Teste si "Always say hello" commence par "hello". "hello" apparaît bien dans le texte, mais pas au début. false

Expérience de recherche de l’utilisateur

Dans de nombreuses applications, vous pouvez entrer un ou plusieurs caractères dans une zone de recherche pour filtrer une liste d’enregistrements dans un jeu de données volumineux. Pendant que vous tapez, la liste présente uniquement les enregistrements qui correspondent aux critères de recherche.

Les autres exemples de cette rubrique présentent les résultats de la recherche d’une liste Clients contenant les données suivantes :

Pour créer cette source de données en tant que collection, créez un contrôle Bouton et définissez sa propriété OnSelect sur cette formule :

ClearCollect( Customers, Table( { Name: "Fred Garcia", Company: "Northwind Traders" }, { Name: "Cole Miller", Company: "Contoso" }, { Name: "Glenda Johnson", Company: "Contoso" }, { Name: "Mike Collins", Company: "Adventure Works" }, { Name: "Colleen Jones", Company: "Adventure Works" } ) )

Comme dans cet exemple, vous pouvez afficher une liste d’enregistrements dans un contrôle Galerie au bas d’un écran. En haut de l’écran, vous pouvez ajouter un contrôle Entrée de texte appelé SearchInput, pour permettre aux utilisateurs d’indiquer les enregistrements qui les intéressent.

Quand l’utilisateur entre des caractères dans SearchInput, les résultats de la galerie sont automatiquement filtrés. Dans cet exemple, la galerie est configurée de manière à afficher les enregistrements pour lesquels le nom du client (pas celui de l’entreprise) commence par la séquence de caractères dans SearchInput. Si l’utilisateur tape co dans la zone de recherche, la galerie présente ces résultats :

Pour filtrer en fonction de la colonne Name, définissez la propriété Items du contrôle de galerie sur l’une de ces formules :

Formule Description Résultat
Filter( Customers, StartsWith( Name, SearchInput.Text ) ) Permet de filtrer la source de données Customers pour afficher les enregistrements dans lesquels la chaîne de recherche apparaît au début de la colonne Name. Le test n’est pas sensible à la casse. Si l’utilisateur tape co dans la zone de recherche, la galerie affiche Colleen Jones et Cole Miller. La galerie n’affiche pas Mike Collins, car la colonne Name de cet enregistrement ne commence pas par la chaîne de recherche.
Filter( Customers, SearchInput.Text in Name ) Permet de filtrer la source de données Customers pour afficher les enregistrements dans lesquels la chaîne de recherche apparaît n’importe où dans la colonne Name. Le test n’est pas sensible à la casse. Si l’utilisateur tape co dans la zone de recherche, la galerie affiche Colleen Jones, Cole Miller et Mike Collins, car la chaîne de recherche apparaît quelque part dans la colonne Name de tous ces enregistrements.
Search( Customers, SearchInput.Text, "Name" ) À l’image de l’opérateur in, la fonction Search permet de rechercher une correspondance n’importe où dans la colonne Name de chaque enregistrement. Notez que le nom de colonne doit être placé entre guillemets doubles.

Vous pouvez étendre votre recherche de manière à inclure la colonne Company ainsi que la colonne Name :

Formule Description Résultat
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) ) Permet de filtrer la source de données Customers pour afficher les enregistrements dans lesquels la colonne Name ou la colonne Company commence par la chaîne de recherche (par exemple, co). L’opérateur || a pour valeur true si l’une des fonctions StartsWith a pour valeur true.
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) Permet de filtrer la source de données Customers pour afficher les enregistrements dans lesquels la colonne Name ou la colonne Company contient la chaîne de recherche (par exemple, co).
Search( Customers, SearchInput.Text, "Name", "Company" ) À l’image de l’opérateur in, la fonction Search permet de rechercher dans la source de données Customers les enregistrements dans lesquels la colonne Name ou la colonne Company contient la chaîne de recherche (par exemple, co). La fonction Search est plus facile à lire et à écrire que la fonction Filter si vous voulez spécifier plusieurs colonnes et plusieurs opérateurs in. Notez que le nom des colonnes doit être placé entre guillemets doubles.