Funkcja EndsWith i StartsWith
Dotyczy: Aplikacje kanwy Przepływy Dataverse pulpitu Kolumny z formułami Aplikacje oparte na modelu Interfejs Power Pages Power Platform wiersza polecenia
Testuje, czy ciąg tekstowy rozpoczyna się lub kończy innym ciągiem tekstowym.
Opis
Funkcja EndsWith sprawdza, czy dany ciąg tekstowy kończy się innym ciągiem tekstowym.
Funkcja StartsWith sprawdza, czy dany ciąg tekstowy rozpoczyna się innym ciągiem tekstowym.
W przypadku obu tych funkcji podczas sprawdzania nie jest rozróżniana wielkość liter. Wartością zwracaną obu funkcji jest wartość logiczna prawda lub fałsz.
Korzystając z funkcji EndsWith i StartsWith w połączeniu z funkcją Filter, możesz wyszukiwać dane w aplikacji. 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. Wybór funkcji zależy od potrzeb aplikacji oraz tego, którą funkcję można delegować w przypadku danego źródła danych. Jeśli jednej z tych funkcji nie można delegować, podczas tworzenia będzie wyświetlane ostrzeżenie dotyczące delegowania informujące o tym ograniczeniu.
Składnia
EndsWith( Tekst; TekstKońcowy)
- Tekst – wymagane. Tekst do sprawdzenia.
- Tekst końcowy– wymagane. Tekst do wyszukania na końcu ciągu Tekst. Jeśli wartość EndText to ciąg pusty, funkcja EndsWith zwraca wartość prawda.
StartsWith( Tekst; TekstPoczątkowy )
- Tekst – wymagane. Tekst do sprawdzenia.
- Tekst początkowy– wymagane. Tekst do wyszukania na początku ciągu Tekst. Jeśli wartość StartText to ciąg pusty, funkcja StartsWith zwraca wartość prawda.
Przykłady
Wzór | Opis | Wynik |
---|---|---|
EndsWith( "Witaj świecie", "świat" ) | Testuje, czy ciąg "Hello World" kończy się ciągiem "world". W teście nie jest uwzględniana wielkość liter. | prawdziwy |
EndsWith( "Do widzenia", "dobry" ) | Testuje, czy ciąg "Good bye" kończy się ciągiem "good". Argument funkcji EndText ("good") występuje w tekście, ale nie na końcu. | fałszywy |
EndsWith( "Zawsze mów cześć", "cześć" ) | Testuje, czy ciąg "Always say hello" kończy się ciągiem "hello". | prawdziwy |
EndsWith( "Do widzenia", "" ) | Testuje, czy ciąg "Bye bye" kończy się pustym ciągiem tekstowym (funkcja Len zwraca wartość 0). W celu ułatwienia jej użycia w wyrażeniach funkcji Filtruj, funkcję EndsWith zdefiniowano tak, aby w takim przypadku zwracała wartość prawda. | prawdziwy |
Wzór | Opis | Wynik |
---|---|---|
StartsWith( "Witaj świecie", "cześć" ) | Testuje, czy ciąg "Hello World" rozpoczyna się ciągiem "hello". W teście nie jest uwzględniana wielkość liter. | prawdziwy |
StartsWith( "Do widzenia", "cześć" ) | Testuje, czy ciąg "Good bye" rozpoczyna się ciągiem "hello". | fałszywy |
StartsWith( "Zawsze mów cześć", "cześć" ) | Testuje, czy ciąg "Always say hello" rozpoczyna się ciągiem "hello". Ciąg "hello" występuje w tekście, ale nie na początku. | fałszywy |
StartsWith( "Do widzenia", "" ) | Testuje, czy ciąg "Bye bye" rozpoczyna się pustym ciągiem tekstowym (funkcja Len zwraca wartość 0). W celu ułatwienia jej użycia w wyrażeniach funkcji Filtruj, funkcję StartsWith zdefiniowano tak, aby w takim przypadku zwracała wartość prawda. | prawdziwy |
Wyszukiwanie – środowisko użytkownika
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. W miarę wpisywania lista jest odświeżana, aby zawierała tylko te rekordy, które spełniają kryteria wyszukiwania.
W przykładach w pozostałej części tego tematu przedstawiono wyniki wyszukiwania na liście Klienci, która zawiera następujące dane:
Aby utworzyć to źródło danych jako kolekcję, utwórz kontrolkę Button i ustaw jej właściwość OnSelect na następującą formułę:
ClearCollect( Klienci, Tabela( { Imię: "Fred Garcia", Firma: "Northwind Traders" }, { Imię: "Cole Miller", Firma: "Contoso" }, { Nazwa: "Glenda Johnson", Firma: "Contoso" }, { Nazwa: "Mike Collins", Firma: "Adventure Works" }, { Nazwa: "Colleen Jones", Firma: "Adventure Works") }
Jak w poniższym przykładzie, można wyświetlić listę rekordów w kontrolce Galeria u dołu ekranu. W górnej części ekranu można dodać kontrolkę Text input o nazwie SearchInput, dzięki której użytkownicy będę mogli określić, które rekordy ich interesują.
Podczas wpisywania znaków w kontrolce SearchInput wyniki w galerii są automatycznie filtrowane. 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:
Aby filtrować na podstawie kolumny Name, ustaw właściwość Items kontrolki galerii na jedną z poniższych formuł:
Wzór | Opis | Wynik |
---|---|---|
Filter( Klienci, StartsWith( Nazwa, 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. W teście nie jest uwzględniana wielkość liter. Jeśli użytkownik wpisze ciąg co w polu wyszukiwania, w galerii zostaną wyświetleni klienci Colleen Jones i 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. | |
Filter( Klienci, SearchInput.Text w nazwie ) | 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. W teście nie jest uwzględniana wielkość liter. 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. | |
Search( Klienci, SearchInput.Text, "Nazwa" ) | Podobnie jak w przypadku użycia operatora in, funkcja Search wyszukuje zgodny ciąg w dowolnym miejscu wartości kolumny Name każdego rekordu. Pamiętaj, że nazwę kolumny należy ująć w cudzysłów. |
Wyszukiwanie można rozszerzyć, aby oprócz kolumny Name objęło także kolumnę Company:
Wzór | Opis | Wynik |
---|---|---|
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Firma, 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. ||Operator zwraca wartość true jeśli funkcja StartsWith ma wartość true. | |
Filter( Klienci, SearchInput.Text w nazwie || SearchInput.Text w firmie ) | 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. | |
Search( Klienci, SearchInput.Text, "Nazwa", "Firma" ) | 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. Funkcja Search jest czytelniejsza i łatwiej ją zapisać niż funkcję Filter, jeśli chcesz określić wiele kolumn i wiele operatorów in. Pamiętaj, że nazwy kolumn należy ująć w cudzysłów. |