Funkcje EndsWith i StartsWith w usłudze PowerAppsEndsWith and StartsWith functions in PowerApps

Testuje, czy ciąg tekstowy rozpoczyna się lub kończy innym ciągiem tekstowym.Tests whether a text string begins or ends another text string.

OpisDescription

Funkcja EndsWith testuje, czy dany ciąg tekstowy kończy się innym ciągiem tekstowym.The EndsWith function tests whether one text string ends with another.

Funkcja StartsWith testuje, czy dany ciąg tekstowy rozpoczyna się innym ciągiem tekstowym.The StartsWith function tests whether one text string begins with another.

W przypadku obu tych funkcji podczas testowania nie jest rozróżniana wielkość liter.For both functions, the tests are case insensitive. Wartością zwracaną obu funkcji jest wartość logiczna true lub false.The return value of both is a Boolean true or false.

Korzystając z funkcji EndsWith i StartsWith w połączeniu z funkcją Filter, możesz wyszukiwać dane w aplikacji.Use EndsWith and StartsWith with the Filter function to search the data within your app. Możesz również użyć operatora in lub funkcji Search, aby wyszukiwać w dowolnym miejscu w ramach ciągów tekstowych, a nie tylko na początku lub na końcu.You can also use the in operator or the Search function to look anywhere within text strings, not just at the beginning or end. Wybór funkcji zależy od potrzeb aplikacji oraz tego, którą funkcję można delegować w przypadku danego źródła danych.Your choice of functions will depend on the needs of your app and which function can be delegated for your particular data source. Jeśli jednej z tych funkcji nie można delegować, podczas tworzenia będzie wyświetlana niebieska kropka, aby ostrzec o tym ograniczeniu.If one of these functions can't be delegated, a blue dot will appear at authoring time to warn you of this limitation.

SkładniaSyntax

EndsWith( Tekst, TekstKońcowy )EndsWith( Text, EndText )

  • Tekst — wymagany.Text – Required. Tekst do przetestowania.The text to test.
  • TekstKońcowy — wymagany.EndText – Required. Tekst do wyszukania na końcu ciągu tekst.The text to search for at the end of Text. Jeśli wartość TekstKońcowy to ciąg pusty, funkcja EndsWith zwraca wartość true.If EndText is an empty string, EndsWith returns true.

StartsWith( Tekst, TekstPoczątkowy )StartsWith( Text, StartText )

  • Tekst — wymagany.Text – Required. Tekst do przetestowania.The text to test.
  • TekstPoczątkowy — wymagany.StartText – Required. Tekst do wyszukania na początku ciągu Tekst.The text to search for at the beginning of Text. Jeśli wartość TekstPoczątkowy to ciąg pusty, funkcja StartsWith zwraca wartość true.If StartText is an empty string, StartsWith returns true.

PrzykładyExamples

FormułaFormula OpisDescription WynikResult
EndsWith( "Hello World", "world" )EndsWith( "Hello World", "world" ) Testuje, czy ciąg Hello World kończy się ciągiem world.Tests whether "Hello World" ends with "world". W teście nie jest uwzględniana wielkość liter.The test is case insensitive. truetrue
EndsWith( "Good bye", "good" )EndsWith( "Good bye", "good" ) Testuje, czy ciąg Good bye kończy się ciągiem good.Tests whether "Good bye" ends with "good". Argument funkcji TekstKońcowy (good) występuje w tekście, ale nie na końcu.The EndText argument ("good") appears in the text but not at the end. falsefalse
EndsWith( "Always say hello", "hello" )EndsWith( "Always say hello", "hello" ) Testuje, czy ciąg Always say hello kończy się ciągiem hello.Tests whether "Always say hello" ends with "hello". truetrue
Endswith( "Bye bye", "" )Endswith( "Bye bye", "" ) Testuje, czy ciąg Bye bye kończy się pustym ciągiem tekstowym (funkcja Len zwraca wartość 0).Tests whether "Bye bye" ends with an empty text string (Len returns 0). W celu ułatwienia jej użycia w wyrażeniach funkcji Filter, funkcję EndsWith zdefiniowano tak, aby w takim przypadku zwracała wartość true.Easing its use in Filter expressions, EndsWith is defined to return true in this case. truetrue
FormułaFormula OpisDescription WynikResult
StartsWith( "Hello World", "hello" )StartsWith( "Hello World", "hello" ) Testuje, czy ciąg Hello World rozpoczyna się ciągiem hello.Tests whether "Hello World" begins with "hello". W teście nie jest uwzględniana wielkość liter.The test is case insensitive. truetrue
StartsWith( "Good bye", "hello" )StartsWith( "Good bye", "hello" ) Testuje, czy ciąg Good bye rozpoczyna się ciągiem hello.Tests whether "Good bye" begins with "hello". falsefalse
StartsWith( "Always say hello", "hello" )StartsWith( "Always say hello", "hello" ) Testuje, czy ciąg Always say hello rozpoczyna się ciągiem hello.Tests whether "Always say hello" begins with "hello". Ciąg hello występuje w tekście, ale nie na początku.Although "hello" appears in the text, it doesn't appear at the beginning. falsefalse
StartsWith( "Bye bye", "" )StartsWith( "Bye bye", "" ) Testuje, czy ciąg Bye bye rozpoczyna się pustym ciągiem tekstowym (funkcja Len zwraca wartość 0).Tests whether "Bye bye" starts with an empty text string (Len returns 0). W celu ułatwienia jej użycia w wyrażeniach funkcji Filter, funkcję StartsWith zdefiniowano tak, aby w takim przypadku zwracała wartość true.Easing its use in Filter expressions, StartsWith is defined to return true in this case. truetrue

Wyszukiwanie — środowisko użytkownikaSearch user experience

W wielu aplikacjach możesz wpisać jeden lub większą liczbę znaków w polu wyszukiwania, aby filtrować listę rekordów dużego zestawu danych.In many apps, you can type one or more characters into a search box to filter a list of records in a large data set. W miarę wpisywania lista jest odświeżana, aby zawierała tylko te rekordy, które spełniają kryteria wyszukiwania.As you type, the list shows only those records that match the search criteria.

W przykładach w pozostałej części tego tematu przedstawiono wyniki wyszukiwania na liście Customers, która zawiera następujące dane:The examples in the rest of this topic show the results of searching a Customers list that contains this data:

Aby utworzyć to źródło danych jako kolekcję, utwórz kontrolkę Przycisk i ustaw jej właściwość OnSelect na następującą formułę:To create this data source as a collection, create a Button control and set its OnSelect property to this formula:

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" } ) )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" } ) )

Jak w poniższym przykładzie, można wyświetlić listę rekordów w kontrolce Galeria u dołu ekranu.As in this example, you can show a list of records in a Gallery control at the bottom of a screen. W górnej części ekranu można dodać kontrolkę Wprowadzanie tekstu o nazwie SearchInput, dzięki której użytkownicy będę mogli określić, które rekordy ich interesują.Near the top of the screen, you can add a Text input control, named SearchInput, so that users can specify which records interest them.

Podczas wpisywania znaków w kontrolce SearchInput wyniki w galerii są automatycznie filtrowane.As the user types characters in SearchInput, the results in the gallery are automatically filtered. W tym przypadku galeria jest skonfigurowana do wyświetlania rekordów, dla których nazwa klienta (nie nazwa firmy) rozpoczyna się od sekwencji znaków w kontrolce SearchInput. Jeśli użytkownik wpisze znaki co w polu wyszukiwania, w galerii zostaną wyświetlone następujące wyniki:In this case, the gallery is configured to show records for which the name of the customer (not the name of the company) starts with the sequence of characters in SearchInput.If the user types co in the search box, the gallery shows these results:

Aby filtrować na podstawie kolumny Name, ustaw właściwość Items kontrolki galerii na jedną z poniższych formuł:To filter based on the Name column, set the Items property of the gallery control to one of these formulas:

FormułaFormula OpisDescription WynikResult
Filter( Customers, StartsWith( Name, SearchInput.Text ) )Filter( Customers, StartsWith( Name, SearchInput.Text ) ) Filtruje źródło danych Customers, aby uzyskać rekordy, w których ciąg wyszukiwania występuje na początku wartości w kolumnie Name.Filters the Customers data source for records in which the search string appears at the start of the Name column. W teście nie jest uwzględniana wielkość liter.The test is case insensitive. Jeśli użytkownik wpisze ciąg co w polu wyszukiwania, w galerii zostaną wyświetleni klienci Colleen Jones i Cole Miller.If the user types co in the search box, the gallery shows Colleen Jones and Cole Miller. W galerii nie zostanie wyświetlony klient Mike Collins, ponieważ wartość w kolumnie Name tego rekordu nie rozpoczyna się od ciągu wyszukiwania.The gallery doesn't show Mike Collins because the Name column for that record doesn't start with the search string.
Filter( Customers, SearchInput.Text in Name )Filter( Customers, SearchInput.Text in Name ) Filtruje źródło danych Customers, aby uzyskać rekordy, w których ciąg wyszukiwania występuje w dowolnym miejscu wartości w kolumnie Name.Filters the Customers data source for records in which the search string appears anywhere in the Name column. W teście nie jest uwzględniana wielkość liter.The test is case insensitive. Jeśli użytkownik wpisze ciąg co w polu wyszukiwania, w galerii zostaną wyświetleni klienci Colleen Jones, Cole Miller i Mike Collins, ponieważ ciąg wyszukiwania występuje w wartości kolumny Name każdego z tych rekordów.If the user types co in the search box, the gallery shows Colleen Jones, Cole Miller, and Mike Collins because the search string appears somewhere in the Name column of all of those records.
Search( Customers, SearchInput.Text, "Name" )Search( Customers, SearchInput.Text, "Name" ) Podobnie jak w przypadku użycia operatora in, funkcja Search wyszukuje zgodny ciąg w dowolnym miejscu wartości kolumny Name każdego rekordu.Similar to using the in operator, the Search function searches for a match anywhere within the Name column of each record. Pamiętaj, że nazwę kolumny należy ująć w cudzysłów.Note that you must enclose the column name in double quotation marks.

Wyszukiwanie można rozszerzyć, aby oprócz kolumny Name objęło także kolumnę Company:You can expand your search to include the Company column as well as the Name column:

FormułaFormula OpisDescription WynikResult
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) )Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) ) Filtruje źródło danych Customers, aby uzyskać rekordy, w których ciąg wyszukiwania (na przykład co) występuje na początku wartości kolumny Name lub kolumny Company.Filters the Customers data source for records in which either the Name column or the Company column starts with the search string (for example, co). Operator || powoduje zwrócenie wartości true, jeśli jedna z funkcji StartsWith zwróci wartość true.The || operator is true if either StartsWith function is true.
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company )Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) Filtruje źródło danych Customers, aby uzyskać rekordy, w których ciąg wyszukiwania (na przykład co) występuje w dowolnym miejscu wartości kolumny Name lub kolumny Company.Filters the Customers data source for records in which either the Name column or the Company column contains the search string (for example, co) anywhere within it.
Search( Customers, SearchInput.Text, "Name", "Company" )Search( Customers, SearchInput.Text, "Name", "Company" ) Podobnie jak w przypadku użycia operatora in, funkcja Search przeszukuje źródło danych Customers, aby uzyskać rekordy, w których ciąg wyszukiwania (na przykład co) występuje w dowolnym miejscu wartości kolumny Name lub kolumny Company.Similar to using the in operator, the Search function searches the Customers data source for records in which either the Name column or the Company column contains the search string (for example, co) anywhere within it. Funkcja Search jest czytelniejsza i łatwiej ją zapisać niż funkcję Filter, jeśli chcesz określić wiele kolumn i wiele operatorów in.The Search function is easier to read and write than Filter if you want to specify multiple columns and multiple in operators. Pamiętaj, że nazwy kolumn należy ująć w cudzysłów.Note that you must enclose the names of the columns in double quotation marks.