Funções EndsWith e StartsWith

Aplica-se a: Aplicativos de tela Fluxos de área de trabalho Colunas de fórmula do Dataverse Aplicativos baseados em modelo Power Platform CLI

Testa se uma cadeia de texto começa ou termina outra cadeia de texto.

Descrição

A função EndsWith testa se uma cadeia de texto começa com outra.

A função StartsWith testa se uma cadeia de texto começa com outra cadeia de texto.

Para ambas as funções, os testes não diferenciam maiúsculas de minúsculas. O valor retornado é um booliano true ou false.

Use EndsWith e StartsWith com a função Filter para pesquisar os dados no aplicativo. Use também o operador in ou a função Search para pesquisar em qualquer lugar das cadeias de texto, não apenas no início ou no final. Sua escolha de funções dependerá das necessidades de seu aplicativo e de qual função pode ser delegada para sua fonte de dados específica. Se uma dessas funções não puder ser delegada, um aviso sobre a delegação será exibido no momento da criação para avisá-lo dessa limitação.

Sintaxe

EndsWith( Text, EndText )

  • Text - obrigatório. O texto a ser testado.
  • EndText - obrigatório. O texto a ser pesquisado no início de Text. Se EndText for uma cadeia de caracteres vazia, EndsWith retornará true.

StartsWith( Texto, TextoInicial )

  • Text - obrigatório. O texto a ser testado.
  • StartText - obrigatório. O texto a ser pesquisado no início do Texto. Se TextoInicial for uma cadeia de caracteres vazia, StartsWith retornará true.

Exemplos

Fórmula Descrição Resultado
EndsWith( "Hello World", "world" ) Testa se "Hello World" termina com "world". O teste diferencia maiúsculas de minúsculas. true
EndsWith( "Good bye", "good" ) Testa se "Good bye" termina com "good". O argumento EndText ("good") aparece no texto, mas não no final. false
EndsWith( "Always say hello", "hello" ) Testa se "Always say hello" termina com "hello". true
EndsWith( "Bye bye", "" ) Testa se "Bye bye" termina com uma cadeia de texto vazia (Len retorna 0). Facilitando seu uso em expressões Filter, EndsWith é definido para retornar true nesse caso. true
Fórmula Descrição Resultado
StartsWith( "Olá Mundo", "olá" ) Testa se "Olá Mundo" começa com "olá". O teste diferencia maiúsculas de minúsculas. true
StartsWith( "Até logo", "logo" ) Testa se "Até logo" começa com "logo". false
StartsWith( "Sempre diga olá", "olá" ) Testa se "Sempre diga olá" começa com "olá". Embora "olá" apareça no texto, ele não aparece no início. false
StartsWith( "Bye bye", "" ) Testa se "Bye bye" começa com uma cadeia de texto vazia (Len retorna 0). Facilitando seu uso em expressões Filter, StartsWith é definido para retornar true nesse caso. true

Experiência do usuário de pesquisa

Em muitos aplicativos, você pode digitar um ou mais caracteres em uma caixa de pesquisa para filtrar uma lista de registros de um grande conjunto de dados. Conforme você digita, a lista mostra apenas os registros que correspondem aos critérios da pesquisa.

Os exemplos no restante deste tópico mostram os resultados da pesquisa em uma lista Clientes que contém esses dados:

Exemplo de lista Customers.

Para criar essa fonte de dados como uma coleção, crie um controle Button e defina sua propriedade OnSelect como esta fórmula:

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

Assim como neste exemplo, você pode mostrar uma lista de registros em um controle Gallery na parte inferior da tela. Próximo à parte superior da tela, adicione um controle Text input, chamado SearchInput, para que os usuários possam especificar quais registros os interessam.

Galeria de clientes.

Conforme o usuário digita os caracteres em SearchInput, os resultados da galeria são filtrados automaticamente. Nesse caso, a galeria está configurada para mostrar os registros dos quais o nome do cliente (não o nome da empresa) começa com a sequência de caracteres em SearchInput. Se o usuário digita co na caixa de pesquisa, a galeria mostra estes resultados:

Galeria de clientes com pesquisa.

Para filtrar com base na coluna Nome, defina a propriedade Items do controle Gallery como uma destas fórmulas:

Fórmula Descrição Resultado
Filter( Customers, StartsWith( Name, SearchInput.Text ) ) Filtra a fonte de dados Customers em busca de registros nos quais a cadeia de caracteres de pesquisa apareça no início da coluna Name. O teste diferencia maiúsculas de minúsculas. Se o usuário digitar co na caixa de pesquisa, a galeria mostrará Colleen Jones e Cole Miller. A Galeria não mostra Mike Collins, porque a coluna Name desse registro não começa com a cadeia de caracteres de pesquisa. Exemplo de StartsWith.
Filter( Customers, SearchInput.Text in Name ) Filtra a fonte de dados Customers em busca de registros nos quais a cadeia de caracteres de pesquisa apareça em qualquer lugar da coluna Name. O teste diferencia maiúsculas de minúsculas. Se o usuário digitar co na caixa de pesquisa, a galeria mostrará Colleen Jones,Cole Miller e Mike Collins, pois a cadeia de caracteres de pesquisa aparecerá em algum lugar da coluna Name de todos os registros. Exemplo de SearchInput.Text em Name.
Search( Customers, SearchInput.Text, "Name" ) Assim como o operador in, a função Search procura uma correspondência em qualquer lugar da coluna Name de cada registro. Observe que você deve colocar o nome da coluna entre aspas duplas. Exemplo de SearchInput.Text com Name.

Você pode expandir sua pesquisa para incluir a coluna Company, bem como a coluna Name:

Fórmula Descrição Resultado
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) ) Filtra a fonte de dados Customers em busca de registros nos quais a coluna Name ou a coluna Company comece com a cadeia de caracteres de pesquisa (por exemplo, co). O || operador será true se a função StartsWith for true. Filtrar com StartsWith.
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) Filtra a fonte de dados Customers em busca de registros nos quais a coluna Name ou a coluna Company contenham a cadeia de caracteres de pesquisa (por exemplo, co em qualquer lugar). Filtro com texto de pesquisa no nome.
Search( Customers, SearchInput.Text, "Name", "Company" ) Assim como o operador in, a função Search pesquisa na fonte de dados Customers por registros nos quais a coluna Name ou a coluna Company contém a cadeia de caracteres de pesquisa (por exemplo, co) em qualquer lugar. A função Search é mais fácil de ler e gravar do que Filter se quiser especificar várias colunas e vários operadores in. Observe que você deve colocar os nomes de coluna entre aspas duplas. Filtro com texto de pesquisa no nome, empresa.