De functies EndsWith en StartsWith

Van toepassing op: Canvas-apps Bureaubladstromen Dataverse-formulekolommen Modelgestuurde apps Power Platform CLI

Deze functies testen of een tekenreeks begint of eindigt met een andere tekenreeks.

Beschrijving

De functie EndsWith test of een tekenreeks eindigt met een andere tekenreeks.

De functie StartsWith test of een tekenreeks begint met een andere tekenreeks.

De tests zijn voor beide functies niet hoofdlettergevoelig. De resulterende waarde van beide is de booleaanse waarde true of false.

Gebruik EndsWith en StartsWith met de functie Filter om te zoeken naar de gegevens in uw app. U kunt ook de operator in of de functie Search gebruiken om ergens in tekenreeksen te zoeken, niet alleen aan het begin of einde. Uw keuze van functies is afhankelijk van de behoeften van uw app en de functie die kan worden gedelegeerd voor uw specifieke gegevensbron. Als een van deze functies kan niet worden gedelegeerd, wordt er tijdens het ontwerpen een delegeringswaarschuwing weergegeven om u te waarschuwen voor deze beperking.

Syntaxis

EndsWith( Text, EndText )

  • Text: vereist. De tekst die moet worden getest.
  • EndText: vereist. De tekst waarnaar moet worden gezocht aan het einde van Text. Als EindTekst een lege tekenreeks is, geeft EndsWith de uitkomst true.

StartsWith( Text, StartText )

  • Text: vereist. De tekst die moet worden getest.
  • StartText: vereist. De tekst waarnaar moet worden gezocht aan het begin van Text. Als BeginTekst een lege tekenreeks is, geeft StartsWith de uitkomst true.

Voorbeelden

Formule Beschrijving Resultaat
EndsWith( "Hallo wereld", "wereld" ) Test of "Hallo wereld" eindigt met "wereld". De test is niet hoofdlettergevoelig. true
EndsWith( "Tot ziens", "tot" ) Test of "Tot ziens" eindigt met "tot". Het EndText-argument ("tot") komt voor in de tekst, maar niet aan het einde. false
EndsWith( "Zeg altijd hallo", "hallo" ) Test of "Zeg altijd hallo" eindigt met "hallo". true
EndsWith( "Doei doei", "" ) Test of "Doei doei" eindigt met een lege tekenreeks (Len retourneert 0). EndsWith vereenvoudigt het gebruik ervan in Filter-expressies en is gedefinieerd om in dit geval true te retourneren. true
Formule Beschrijving Resultaat
StartsWith ( "Hallo wereld", "hallo" ) Test of "Hallo wereld" begint met "hallo". De test is niet hoofdlettergevoelig. true
StartsWith( "Tot ziens", "hallo" ) Test of "Tot ziens" begint met "hallo". false
StartsWith( "Zeg altijd hallo", "hallo" ) Test of "Zeg altijd hallo" begint met "hallo". Hoewel "hallo" deel uitmaakt van de tekst, staat het niet aan het begin. false
StartsWith( "Doei doei", "" ) Test of "Doei doei" begint met een lege tekenreeks (Len retourneert 0). StartsWith vereenvoudigt het gebruik ervan in Filter-expressies en is gedefinieerd om in dit geval true te retourneren. true

Gebruikerservaring met betrekking tot zoeken

In veel apps kunt u een of meer tekens in een zoekvak typen om een lijst met records in een grote gegevensset te filteren. Terwijl u typt, geeft de lijst alleen die records weer die overeenkomen met de zoekcriteria.

De voorbeelden in de rest van dit onderwerp tonen de resultaten van het doorzoeken van de lijst genaamd Klanten die deze gegevens bevat:

Voorbeeld van lijst met klanten.

Maak een besturingselement Button en stel de eigenschap OnSelect ervan in op de volgende formule om deze gegevensbron als een verzameling te maken:

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

Net als in dit voorbeeld kunt u een lijst met records in een galeriebesturingselement onder aan het scherm maken. U kunt aan de bovenkant van het scherm een besturingselement Text input met de naam SearchInput toevoegen, zodat gebruikers kunnen opgeven in welke records ze geïnteresseerd zijn.

Klantengalerie.

Wanneer de gebruiker tekens in SearchInput typt, worden de resultaten in de galerie automatisch gefilterd. In dit geval is de galerie geconfigureerd om records weer te geven waarin de naam van de klant (niet de naam van het bedrijf) begint met de reeks tekens in Zoekinvoer. Als de gebruiker co typt in het zoekvak, toont de galerie deze resultaten:

Klantengalerie met zoekfunctie.

U kunt filteren op basis van de kolom Naam door de eigenschap Items in het galeriebesturingselement op een van deze formules in te stellen:

Formule Beschrijving Resultaat
Filter( Klanten, StartsWith( Naam, SearchInput.Text ) ) Filtert de gegevensbron Klanten voor records waarin de zoektekenreeks aan het begin van de kolom Naam wordt weergegeven. De test is niet hoofdlettergevoelig. Als de gebruiker co in het zoekvak typt, toont de galerie Colleen Jones en Cole Miller. De galerie toont Mike Collins niet omdat de kolom Naam voor die record niet met de tekenreeks begint. Voorbeeld van StartsWith.
Filter( Klanten, SearchInput.Text in Naam ) Filtert de gegevensbron Klanten voor records waarin de zoektekenreeks op een willekeurige plaats in de kolom Naam wordt weergegeven. De test is niet hoofdlettergevoelig. Als de gebruiker co in het zoekvak typt, toont de galerie Colleen Jones, Cole Miller en Mike Collins omdat de zoektekenreeks op een willekeurige plaats in de kolom Naam van al deze records verschijnt. Voorbeeld van SearchInput.Text in Naam.
Search( Klanten, SearchInput.Text, "Naam" ) De functie Search zoekt, net als de operator in, naar een overeenkomst op een willekeurige plaats in de kolom Naam voor elke record. Houd er rekening mee dat u de naam van de kolom tussen dubbele aanhalingstekens moet plaatsen. Voorbeeld van SearchInput.Text met Naam.

U kunt uw zoekopdracht uitbreiden om de kolom Bedrijf naast de kolom Naam op te nemen:

Formule Beschrijving Resultaat
Filter(Customers, StartsWith(Naam, SearchInput.Text) || StartsWith(Bedrijf, SearchInput.Text) ) Filtert de gegevensbron Klanten op records waarin ofwel de kolom Naam ofwel de kolom Bedrijf met de zoektekenreeks (bijvoorbeeld co) begint. De || operator is true als een van de StartsWith-functies true is. Filteren met StartsWith.
Filter( Klanten, SearchInput.Text in Naam || SearchInput.Text in Bedrijf ) Filtert de gegevensbron Klanten op records waarin ofwel de kolom Naam ofwel de kolom Bedrijf de zoektekenreeks (bijvoorbeeld co) op een willekeurige positie bevat. Filterenn met zoektekst in naam.
Search( Klanten, SearchInput.Text, "Naam", "Bedrijf" ) Net als de operator in zoekt de functie Search in de gegevensbron Klanten naar records waarin ofwel de kolom Naam ofwel de kolom Bedrijf de zoektekenreeks (bijvoorbeeld co) op een willekeurige plaats bevat. De functie Search is eenvoudiger te lezen en te schrijven dan Filter als u meerdere kolommen en meerdere in-operators wilt opgeven. Houd er rekening mee dat u de namen van de kolommen tussen dubbele aanhalingstekens moet plaatsen. Filteren met zoektekst in naam, bedrijf.