Partajați prin


Funcțiile EndsWith și StartsWith

Se aplică la: Aplicații proiectate pe pânză Fluxuri desktop Coloane Dataverse de formule Aplicații Power Platform proiectate pe bază de model CLI

Testează dacă un șir de text începe sau se termină cu un alt șir de text.

Descriere

Funcția EndsWith testează dacă un șir de text se termină cu altul.

Funcția StartsWith testează dacă un șir de text începe cu altul.

Pentru ambele funcții, testele nu sunt sensibile la literele mari și mici. Valoarea de returnare pentru ambele este o valoare booleană true sau false.

Utilizați funcția EndsWith și StartsWith cu funcția Filter pentru a căuta datele în aplicația dvs. Puteți utiliza, de asemenea, operatorul in sau funcția Search pentru a căuta oriunde în șirurile de text, nu doar la început sau la sfârșit. Alegerea funcțiilor de către dvs. va depinde de necesitățile aplicației dvs. și de funcțiile care pot fi delegate pentru respectiva sursă de date. Dacă una dintre aceste funcții nu poate fi delegată, în momentul creării va apărea un avertisment de delegare pentru a vă avertiza cu privire la această limitare.

Sintaxă

EndsWith( Text, EndText )

  • Text – Obligatoriu. Textul de testat.
  • EndText – Obligatoriu. Textul de căutat la sfârșitul textului. Dacă EndText este un șir gol, EndsWith returnează true.

StartsWith( Text, StartText )

  • Text – Obligatoriu. Textul de testat.
  • StartText – Obligatoriu. Textul de căutat la începutul textului. Dacă StartText este un șir gol, StartWith returnează true.

Exemple

Formulă Descriere Rezultat
EndsWith( "Hello World", "world" ) Testează dacă "Hello World" se termină cu "world". Testul nu este sensibil la literele mari și mici. true
EndsWith( "Good bye", "good" ) Testează dacă "Good bye" se termină cu "good". Argumentul EndText ("good") apare în text, dar nu la sfârșit. false
EndsWith( "Always say hello", "hello" ) Testează dacă "Always say hello" se termină cu "hello". true
EndsWith( "Bye bye", "" ) Testează dacă "Bye bye" se termină cu un șir de text gol (Len returnează 0). Pentru a facilita utilizarea sa în expresii Filter, EndsWith este definit astfel încât să returneze true în acest caz. true
Formulă Descriere Rezultat
StartsWith( "Hello World", "hello" ) Testează dacă "Hello World" începe cu "hello". Testul nu este sensibil la literele mari și mici. true
StartsWith( "Good bye", "hello" ) Testează dacă "Good bye" începe cu "hello". false
StartsWith( "Always say hello", "hello" ) Testează dacă "Always say hello" începe cu "hello". Deși "hello" apare în text, acesta nu apare la început. false
StartsWith( "Bye bye", "" ) Testează dacă "Bye bye" începe cu un șir de text gol (Len returnează 0). Pentru a facilita utilizarea sa în expresii Filter, StartsWith este definit astfel încât să returneze true în acest caz. true

Experiența de căutare a utilizatorului

În multe aplicații, puteți tasta unul sau mai multe caractere într-o casetă de căutare pentru a filtra o listă de înregistrări într-un set mare de date. Pe măsură ce tastați, lista afișează doar acele înregistrări care corespund criteriilor de căutare.

Exemplele din cadrul acestui subiect arată rezultatele căutării unei liste de Clienți, care conține aceste date:

Exemplu de listă de clienți.

Pentru a crea această sursă de date ca o colecție, creați un control Button și setați proprietatea acestuia OnSelect conform următoarei formule:

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

După cum se arată în acest exemplu, puteți afișa o listă de înregistrări într-un Control galerie în partea de jos a unui ecran. În partea de sus a ecranului, puteți adăuga un control Introducere text, numit SearchInput, astfel încât utilizatorii să poată specifica ce înregistrări îi interesează.

Galeria clienților.

Pe măsură ce utilizatorul tastează caractere în SearchInput, rezultatele din galerie sunt filtrate automat. În acest caz, galeria este configurată pentru a afișa înregistrări pentru care numele clientului (nu numele companiei) începe cu secvența de caractere din SearchInput.Dacă utilizatorul tastează co în caseta de căutare, galeria prezintă următoarele rezultate:

Galeria clienților cu căutare.

Pentru a filtra pe baza coloanei Name, setați proprietatea Items a controlului galeriei la una dintre aceste formule:

Formulă Descriere Rezultat
Filter( Customers, StartsWith( Name, SearchInput.Text ) ) Filtrează sursa de date Customers pentru înregistrări în care șirul de căutare apare la începutul coloanei Name. Testul nu este sensibil la literele mari și mici. Dacă utilizatorul tastează co în caseta de căutare, galeria afișează Colleen Jones și Cole Miller. Galeria nu afișează Mike Collins deoarece coloana Name pentru respectiva înregistrare nu începe cu șirul de căutare. Exemplu de StartsWith.
Filter( Customers, SearchInput.Text in Name ) Filtrează sursa de date Customers pentru înregistrări în care șirul de căutare apare oriunde în coloana Name. Testul nu este sensibil la literele mari și mici. Dacă utilizatorul tastează co în caseta de căutare, galeria afișează Colleen JonesCole Miller, și Mike Collins deoarece șirul de căutare apare într-o anumită parte a coloanei Name pentru toate acele înregistrări. Exemplu de text SearchInput. în Nume.
Search( Customers, SearchInput.Text, "Name" ) Asemenea operatorului in, funcția Search caută o potrivire oriunde în interiorul coloanei Name a fiecărei înregistrări. Rețineți că numele coloanei trebuie pus între ghilimele duble. Exemplu de text SearchInput. cu Nume.

Puteți extinde căutarea pentru a include coloana Company, precum și coloana Name:

Formulă Descriere Rezultat
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) ) Filtrează sursa de date Customers pentru înregistrări în care coloana Name sau coloana Company începe cu șirul de căutare (de exemplu, co). || Operator este true dacă funcția StartsWith este true. Filtrați cu StartsWith.
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) Filtrează sursa de date Customers pentru înregistrări în care coloana Name sau coloana Company conține șirul de căutare (de exemplu, co) oriunde în interior. Filtrați cu textul căutării în nume.
Search( Customers, SearchInput.Text, "Name", "Company" ) Asemenea operatorului in, funcția Search caută în sursa de date Customers înregistrări în care coloana Name sau Company conține șirul de căutare (de exemplu, co) oriunde în interior. Funcția Search este mai ușor de citit și de scris decât Filter dacă doriți să specificați mai multe coloane și mai mulți operatori in. Rețineți că numele coloanelor trebuie pus între ghilimele duble. Filtrați cu textul căutării în nume, companie.