De functies EndsWith en StartsWith
Van toepassing op: canvas-apps bureaubladstromen Dataverse-formulekolommen modelgestuurde apps Power Pages 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.
Voor beide functies zijn de tests hoofdletterongevoelig als de back-end gegevensbronnen het standaard ondersteunen. Collecties, Dataverse, SharePoint en SQL Server ondersteunen hoofdletterongevoeligheid bijvoorbeeld standaard. Oracle doet dat niet. 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.
- EindTekst – 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.
- BeginTekst - 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:
Maak een besturingselement Button en stel de eigenschap OnSelect ervan in op de volgende formule om deze gegevensbron als een verzameling te maken:
ClearCollect( Klanten, 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.
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:
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. | |
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. | |
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. |
U kunt uw zoekopdracht uitbreiden om de kolom Bedrijf naast de kolom Naam op te nemen:
Formule | Beschrijving | Resultaat |
---|---|---|
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, 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. | |
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) | Filtert de gegevensbron Klanten op records waarin ofwel de kolom Naam ofwel de kolom Bedrijf de zoektekenreeks (bijvoorbeeld co) op een willekeurige positie bevat. | |
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. |