Funktionen „EndsWith“ und „StartsWith“
Gilt für: Canvas-Apps Desktop-Flows Dataverse Formelspalten Modellgesteuerte Apps Power Pages Power Platform CLI
Testet, ob eine Textzeichenfolge mit einer anderen Textzeichenfolge beginnt oder endet.
Beschreibung
Die EndsWith-Funktion testet, ob eine Textzeichenfolge mit einer anderen endet.
Die StartsWith-Funktion testet, ob eine Zeichenfolge mit einer anderen beginnt.
Bei beiden Funktionen wird bei den Tests die Groß-/Kleinschreibung nicht beachtet, wenn die Back-End-Datenquelle dies standardmäßig unterstützt. Beispielsweise unterstützen Sammlungen, Dataverse, SharePoint und der SQL Server standardmäßig die Nichtbeachtung der Groß-/Kleinschreibung. Oracle tut dies nicht. Der Rückgabewert beider Funktionen ist der boolescher Wert true oder false.
Verwenden Sie EndsWith und StartsWith mit der Filter-Funktion, um die Daten in der App zu durchsuchen. Sie können auch mit dem in-Operator oder der Search-Funktion an einer beliebigen Stelle innerhalb von Textzeichenfolgen und nicht nur am Anfang oder Ende suchen. Die Wahl der Funktionen hängt von den Anforderungen der App ab, und davon welche Funktion für Ihre bestimmte Datenquelle delegiert werden kann. Wenn eine dieser Funktionen nicht delegiert werden kann, wird beim Erstellen eine Delegierungswarnung angezeigt, um Sie bezüglich dieser Einschränkung zu warnen.
Syntax
EndsWith( Text, EndText )
- Text – Erforderlich. Der zu prüfende Text.
- EndText – Erforderlich. Der am Ende von Text zu suchende Text. Wenn EndText eine leere Zeichenfolge ist, gibt EndsWith true zurück.
StartsWith( Text, StartText )
- Text – Erforderlich. Der zu prüfende Text.
- StartText – Erforderlich. Der am Anfang von Text zu suchende Text. Wenn StartText eine leere Zeichenfolge ist, gibt StartsWith true zurück.
Beispiele
Formel | Beschreibung | Ergebnis |
---|---|---|
EndsWith( "Hello World", "world" ) | Überprüft, ob "Hello World" mit "world" endet. Bei diesem Test wird die Groß-/Kleinschreibung nicht beachtet. | true |
EndsWith( "Good bye", "good" ) | Überprüft, ob "Good bye" mit "good" endet. Das EndText-Argument ("good") ist im Text enthalten, jedoch nicht am Ende. | false |
EndsWith( "Always say hello", "hello" ) | Prüft, ob "Always say hello" mit "hello" endet. | true |
EndsWith( "Bye bye", "" ) | Prüft, ob "Bye bye" mit einer leeren Textzeichenfolge endet (Len gibt 0 zurück). Bei seiner vereinfachten Verwendung in Filter-Ausdrücken ist EndsWith so definiert, dass in diesem Fall true zurückgegeben wird. | true |
Formel | Beschreibung | Ergebnis |
---|---|---|
StartsWith( "Hello World", "hello" ) | Prüft, ob "Hello World" mit "hello" beginnt. Bei diesem Test wird die Groß-/Kleinschreibung nicht beachtet. | true |
StartsWith( "Good bye", "hello" ) | Prüft, ob "Good bye" mit "hello" beginnt. | false |
StartsWith( "Always say hello", "hello" ) | Prüft, ob "Always say hello" mit "hello" beginnt. Obwohl "hello" im Text vorkommt, kommt es nicht am Anfang vor. | false |
StartsWith( "Bye bye", "" ) | Prüft, ob "Bye bye" mit einer leeren Textzeichenfolge beginnt (Len gibt 0 zurück). Bei seiner vereinfachten Verwendung in Filter-Ausdrücken ist StartsWith so definiert, dass in diesem Fall true zurückgegeben wird. | true |
Benutzererfahrung beim Durchsuchen
In vielen Apps können Sie ein oder mehrere Zeichen in ein Suchfeld eingeben, um eine gefilterte Liste mit Datensätzen aus einem großen Datenbestand zu erzeugen. Während der Eingabe zeigt die Liste nur die Datensätze, die den Suchkriterien entsprechen.
Die Beispiele im Rest dieses Themas zeigen die Ergebnisse der Suche in einer Liste Customers, die diese Daten enthalten:
Um diese Datenquelle als Sammlung zu erstellen, erstellen Sie ein Button-Steuerelement, und legen Sie dessen OnSelect-Eigenschaft auf folgende Formel fest:
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" }) )
Sie können wie in diesem Beispiel eine Datensatzliste in einem Gallery-Steuerelement am unteren Rand eines Bildschirms anzeigen. Fügen Sie im oberen Bereich des Bildschirms ein Text input-Steuerelement mit dem Namen SearchInput hinzu, sodass Benutzer angeben können, welche Datensätze für sie relevant sind.
Wenn der Benutzer Zeichen in SearchInput eingibt, werden die Ergebnisse im Katalog automatisch gefiltert. In diesem Fall ist der Katalog so konfiguriert, dass er Datensätze anzeigt, für die der Name des Kunden (nicht der Namen des Unternehmens) mit der Zeichensequenz in SearchInput beginnt. Wenn der Benutzer co in das Suchfeld eingibt, zeigt der Katalog folgende Ergebnisse:
Legen Sie die Items-Eigenschaft des gallery-Steuerelements auf eine der folgenden Formeln fest, um anhand der Spalte Name zu filtern:
Formel | Beschreibung | Ergebnis |
---|---|---|
Filter( Customers, StartsWith( Name, SearchInput.Text ) ) | Filtert die Customers-Datenquelle nach Datensätzen, in der die Suchzeichenfolge am Anfang der Spalte Name vorkommt. Bei diesem Test wird die Groß-/Kleinschreibung nicht beachtet. Wenn der Benutzer co in das Suchfeld eingibt, zeigt der Katalog Colleen Jones und Cole Miller an. Mike Collins wird nicht im Katalog angezeigt, weil die Spalte Name dieses Datensatzes nicht mit der Suchzeichenfolge beginnt. | |
Filter( Customers, SearchInput.Text in Name ) | Filtert die Customers-Datenquelle nach Datensätzen, in der die Suchzeichenfolge an einer beliebigen Stelle in der Spalte Name vorkommt. Bei diesem Test wird die Groß-/Kleinschreibung nicht beachtet. Wenn der Benutzer co in das Suchfeld eingibt, zeigt der Katalog Colleen Jones,Cole Miller, und Mike Collins an, da die Suchzeichenfolge an einer beliebigen Stelle in der Spalte Name dieser Datensätze vorkommt. | |
Search( Customers, SearchInput.Text, "Name" ) | Die Search-Funktion wird so ähnlich wie der in-Operator verwendet und sucht nach einer Übereinstimmung in der Spalte Name in jedem Datensatz. Beachten Sie, dass Sie den Spaltennamen in doppelte Anführungszeichen setzen müssen. |
Sie können Ihre Suche auch so ausweiten, dass sie die Spalte Company sowie die Spalte Name enthält:
Formel | Beschreibung | Ergebnis |
---|---|---|
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) ) | Filtert die Customers-Datenquelle nach Datensätzen, in denen entweder die Spalte Name oder die Spalte Company mit der Suchzeichenfolge beginnt (z. B. co). Der ||-Operator ist true, wenn eine StartsWith-Funktion true ist. | |
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) | Filtert die Customers-Datenquelle nach Datensätzen, in denen entweder die Spalte Name oder die Spalte Company die Suchzeichenfolge (z. B. co) an beliebiger Stelle enthält. | |
Search( Customers, SearchInput.Text, "Name", "Company" ) | Die Search-Funktion wird so ähnlich wie der in-Operator verwendet und durchsucht die Customers-Datenquelle nach Datensätzen, in denen entweder die Name-Spalte oder die Company-Spalte die Suchzeichenfolge (z. B. co) an beliebiger Stelle enthält. Die Search-Funktion ist einfacher zu lesen und zu schreiben als die Filter-Funktion, wenn Sie mehrere Spalten und mehrere in-Operatoren angeben möchten. Beachten Sie, dass Sie die Spaltennamen in doppelte Anführungszeichen setzen müssen. |