Funzioni EndsWith e StartsWith

Si applica a: app canvas flussi desktop colonne di formula Dataverse app basate su modello Power Platform CLI

Verifica se una stringa di testo inizia o termina con un'altra stringa di testo.

Descrizione

La funzione EndsWith verifica se una stringa di testo termina con un'altra.

La funzione StartsWith verifica se una stringa di testo inizia con un'altra.

Per entrambe le funzioni, i test non rispettano la distinzione tra maiuscole e minuscole. Il valore restituito di entrambe le funzioni è un valore booleano true o false.

Usa EndsWith e StartsWith con la funzione Filter per cercare i dati nell'app. Puoi anche usare l'operatore in o la funzione Search per cercare in qualsiasi punto delle stringhe di testo, non solo all'inizio o alla fine. La scelta delle funzioni dipenderà dalle esigenze dell'app e dalla funzione che può essere delegata per un'origine dati specifica. Se una di queste funzioni non può essere delegata, in fase di creazione verrà visualizzato un avviso di delega per avvisare di questa limitazione.

Sintassi

EndsWith( Text, EndText )

  • Text: obbligatorio. Testo da testare.
  • EndText: obbligatorio. Testo da cercare alla fine di Text. Se EndText è una stringa vuota, EndsWith restituisce true.

StartsWith( Text, StartText )

  • Text: obbligatorio. Testo da testare.
  • StartText: obbligatorio. Testo da cercare all'inizio di Text. Se StartText è una stringa vuota, StartsWith restituisce true.

Esempi

Formula Descrizione Risultato
EndsWith("Hello World", "world") Verifica se "Hello World" termina con "world". Il test non fa distinzione tra lettere maiuscole e minuscole. true
EndsWith("Good bye", "good") Verifica se "Good bye" termina con "good". L'argomento EndText ("good") viene visualizzato nel testo, ma non alla fine. false
EndsWith("Always say hello", "hello") Verifica se "Always say hello" termina con "hello". true
EndsWith( "Bye bye", "" ) Verifica se "Bye bye" termina con una stringa vuota (Len restituisce 0). Per semplificarne l'uso nelle espressioni Filter, la funzione EndsWith è stata definita in modo da restituire true in questo caso. true
Formula Descrizione Risultato
StartsWith( "Hello World", "hello" ) Verifica se "Hello World" inizia con "hello". Il test non fa distinzione tra lettere maiuscole e minuscole. true
StartsWith( "Good bye", "hello" ) Verifica se "Good bye" inizia con "hello". false
StartsWith( "Always say hello", "hello" ) Verifica se "Always say hello" inizia con "hello". "hello" è visualizzato nel testo, ma non all'inizio. false
StartsWith("Bye bye", "") Verifica se "Bye bye" inizia con una stringa di testo vuota (Len restituisce 0). Per semplificarne l'uso nelle espressioni Filter, la funzione StartsWith è stata definita in modo da restituire true in questo caso. true

Esperienza utente di ricerca

In molte app puoi digitare uno o più caratteri in una casella di ricerca per filtrare un elenco di record in un set di dati molto grande. Mentre digiti, l'elenco visualizza solo i record che soddisfano i criteri di ricerca.

Gli esempi nella parte rimanente di questo argomento mostrano i risultati di ricerca in un elenco Customers che contiene i dati seguenti:

Esempio di elenco di clienti.

Per creare questa origine dati come raccolta, crea un controllo Button e impostane la proprietà OnSelect su questa 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" } ) )

Come illustrato in questo esempio, puoi visualizzare un elenco di record in un controllo di raccolta nella parte inferiore della schermata. Nella parte superiore della schermata puoi aggiungere un controllo di Text input denominato SearchInput, in modo che gli utenti possono specificare i record a cui sono interessati.

Raccolta Clienti.

Mentre l'utente digita caratteri in SearchInput, i risultati della raccolta vengono filtrati automaticamente. In questo caso, la raccolta è configurata per visualizzare i record per cui il nome del cliente (non il nome della società) inizia con la sequenza di caratteri in SearchInput. Se l'utente digita co nella casella di ricerca, la raccolta visualizza questi risultati:

Raccolta Clienti con ricerca.

Per applicare un filtro basato sulla colonna Name, imposta la proprietà Items del controllo della raccolta su una di queste formule:

Formula Descrizione Risultato
Filter( Customers, StartsWith( Name, SearchInput.Text ) ) Applica un filtro all'origine dati Customers per i record in cui viene visualizzata la stringa di ricerca all'inizio della colonna Name. Il test non fa distinzione tra lettere maiuscole e minuscole. Se l'utente digita co nella casella di ricerca, la raccolta visualizza Colleen Jones e Cole Miller. La raccolta non visualizza Mike Collins perché la colonna Name per tale record non inizia con la stringa di ricerca. Esempio di StartsWith.
Filter( Customers, SearchInput.Text in Name ) Applica un filtro all'origine dati Customers per i record in cui viene visualizzata la stringa di ricerca in qualsiasi parte della colonna Name. Il test non fa distinzione tra lettere maiuscole e minuscole. Se l'utente digita co nella casella di ricerca, la raccolta visualizza Colleen Jones, Cole Miller e Mike Collins perché la stringa di ricerca è inclusa in qualche parte della colonna Name per tutti questi record. Esempio di SearchInput.Text in Name.
Search( Customers, SearchInput.Text, "Name" ) Simile all'uso dell'operatore in, la funzione Search cerca una corrispondenza in una parte qualsiasi all'interno della colonna Name di ogni record. Tieni presente che è necessario racchiudere il nome della colonna tra virgolette doppie. Esempio di SearchInput.Text con Name.

Puoi espandere la ricerca per includere la colonna Company e la colonna Name:

Formula Descrizione Risultato
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) ) Applica un filtro all'origine dati Customers per i record in cui la colonna Name o la colonna Company inizia con la stringa di ricerca (ad esempio, co). L'||operatore è true se anche la funzione StartsWith è true. Filtra con StartsWith.
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) Applica un filtro all'origine dati Customers per i record in cui la colonna Name o la colonna Company contiene la stringa di ricerca (ad esempio, co) in qualsiasi parte all'interno della colonna. Filtra con il testo di ricerca nel nome.
Search( Customers, SearchInput.Text, "Name", "Company" ) Analogamente all'uso dell'operatore in, la funzione Search esegue la ricerca nell'origine dati Customers per trovare record in cui la colonna Name o la colonna Company contiene la stringa di ricerca (ad esempio, co) in qualsiasi parte all'interno della colonna. La funzione Search è più semplice da leggere e scrivere della funzione Filter se si vogliono specificare più colonne e più operatori in. Tieni presente che è necessario racchiudere i nomi delle colonne tra virgolette doppie. Filtra con il testo di ricerca nel nome, società.