Udostępnij za pośrednictwem


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:

Przykładowa lista Klientów.

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ą.

Galeria Klientów.

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:

Galeria Klienci z wyszukiwaniem.

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. Przykład StartsWith.
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. Przykład pliku SearchInput.Text w Nazwie.
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. Przykład pliku SearchInput.Text z Name.

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. Filtruj za pomocą StartsWith.
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. Filtruj z tekstem wyszukiwania w nazwie.
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. Filtruj z tekstem wyszukiwania w nazwie, firmą.