Verifica se una stringa di testo inizia un'altra stringa di testo.

Descrizione

La funzione StartsWith verifica se una stringa di testo inizia con un'altra. Il test non fa distinzione tra maiuscole e minuscole. Viene restituito un valore booleano true o false.

Usare StartsWith con la funzione Filter per cercare i dati nell'app. È anche possibile usare l'operatore in o la funzione Search per cercare in qualsiasi punto delle stringhe di testo, non solo all'inizio. 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 punto blu per avvisare di questa limitazione.

Sintassi

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
StartsWith( "Hello World", "hello" ) Verifica se "Hello World" inizia con "hello". Il test non fa distinzione tra 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

Esperienza utente di ricerca

In molte app è possibile digitare uno o più caratteri in una casella di ricerca per filtrare un elenco di record in un set di dati molto grande. Mentre si digita, 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:

Per creare questa origine dati come raccolta, creare un controllo Button e impostarne 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, è possibile visualizzare un elenco di record in un controllo di raccolta nella parte inferiore della schermata. Nella parte superiore della schermata è possibile aggiungere un controllo di input di testo denominato SearchInput, in modo che gli utenti possono specificare i record a cui sono interessati.

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:

Per applicare un filtro basato sulla colonna Name, impostare 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.
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.
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. Si noti che è necessario racchiudere il nome della colonna tra virgolette doppie.

È possibile 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 la funzione StartsWith è anche true.
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.
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. Si noti che è necessario racchiudere i nomi delle colonne tra virgolette doppie.