Funktionen „EndsWith“ und „StartsWith“

Gilt für: Canvas-Apps Desktop-Flows Dataverse Formelspalten Modellgesteuerte Apps 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 in den Tests die Groß-/Kleinschreibung nicht beachtet. 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 EndsWithtrue 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 StartsWithtrue 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:

Beispiel der benutzerdefinierten Liste

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.

Kundenkatalog

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:

Kundenkatalog mit Suche

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. Beispiel für StartsWith
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. Beispiel für SearchInput.Text in Name
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. Beispiel für SearchInput.Text mit Name

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. Filtern mit StartsWith
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. Filter mit Suchtext im Namen
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. Filter mit Suchtext im Namen, Unternehmen