Funciones EndsWith y StartsWith

Se aplica a: Aplicaciones de lienzo Flujos de escritorio Columnas de fórmula de Dataverse Aplicaciones basadas en modelos Power Platform CLI

Comprueba si una cadena de texto comienza o termina con otra cadena de texto.

Descripción

La función EndsWith comprueba si una cadena de texto termina con otra.

La función StartsWith comprueba si una cadena de texto comienza con otra.

Para ambas funciones, las pruebas no distinguen mayúsculas de minúsculas. El valor devuelto por ambas es un valor booleano true o false.

Use EndsWith y StartsWith con la función Filter para buscar los datos dentro de la aplicación. También puede usar el operador in o la función Search para realizar una búsqueda en cualquier lugar dentro de las cadenas de texto, no solo al principio o al final. La selección de las funciones dependerá de las necesidades de la aplicación y las funciones que se pueden delegar para el origen de datos específico. Si una de estas funciones no se puede delegar, aparece una advertencia de delegación en el momento de la creación para avisarle de esta limitación.

Sintaxis

EndsWith( Text, EndText )

  • Text: requerido. Texto que se va a probar.
  • EndText (obligatorio). Texto que desea buscar al final de Text. Si EndText es una cadena vacía, EndsWith devuelve true.

StartsWith( Text, StartText )

  • Text: requerido. Texto que se va a probar.
  • StartText (obligatorio). El texto que desea buscar al principio de Text. Si StartText es una cadena vacía, StartsWith devuelve true.

Ejemplos

Fórmula Descripción Resultado
EndsWith( "Hola mundo", "mundo" ) Comprueba si "Hola mundo" termina con "mundo". La prueba no distingue mayúsculas de minúsculas. true
EndsWith( "Hasta luego", "luego" ) Comprueba si "Hasta luego" termina con "luego". El argumento EndText ("hasta") aparece en el texto, pero no al final. false
EndsWith( "Di siempre hola", "hola" ) Comprueba si "Di siempre hola" termina con "hola". true
EndsWith( "Bye bye", "" ) Comprueba si "Bye bye" termina con una cadena vacía (Len devuelve 0). Para facilitar su uso en expresiones Filter, EndsWith está definida para devolver true en este caso. true
Fórmula Descripción Resultado
StartsWith( "Hola mundo", "hola" ) Prueba si "Hola mundo" comienza con "hola". La prueba no distingue mayúsculas de minúsculas. true
StartsWith( "Hasta luego", "hola" ) Prueba si "Hasta luego" comienza con "hola". false
StartsWith( "Di siempre hola", "hola" ) Prueba si "Di siempre hola" comienza con "hola". Aunque "hola" aparece en el texto, no aparece al principio. false
StartsWith( "Bye bye", "" ) Comprueba si "Bye bye" comienza con una cadena vacía (Len devuelve 0). Para facilitar su uso en expresiones Filter, StartsWith está definida para devolver true en este caso. true

Experiencia de búsqueda del usuario

En muchas aplicaciones, puede escribir uno o varios caracteres en un cuadro de búsqueda para filtrar una lista de registros en un conjunto de datos grande. A medida que escribe, la lista muestra solo los registros que coinciden con los criterios de búsqueda.

Los ejemplos que aparecen en el resto de este tema muestran los resultados de buscar en una lista Clientes, que contiene estos datos:

Ejemplo de lista de clientes.

Para crear este origen de datos como una colección, cree un control Button y establezca la propiedad OnSelect en 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" } ) )

Como en este ejemplo, puede mostrar una lista de registros en un control Gallery en la parte inferior de una pantalla. Cerca de la parte superior de la pantalla, puede agregar un control Text input denominado SearchInput, de modo que los usuarios puedan especificar los registros que más les interesen.

Galería de clientes.

A medida que el usuario escribe caracteres en SearchInput, automáticamente se filtran los resultados en la galería. En este caso, se configura la galería para que muestre los registros para los que el nombre del cliente (no el nombre de la empresa) comienza con la secuencia de caracteres de SearchInput. Si el usuario escribe co en el cuadro de búsqueda, la galería muestra estos resultados:

Galería de clientes con búsqueda.

Para filtrar según la columna Nombre, establezca la propiedad Items del control Gallery en una de estas fórmulas:

Fórmula Descripción Resultado
Filter( Customers, StartsWith( Name, SearchInput.Text ) ) Filtra el origen de datos Clientes para los registros en los que la cadena de búsqueda aparece al principio de la columna Name. La prueba no distingue mayúsculas de minúsculas. Si el usuario escribe co en el cuadro de búsqueda, la galería mostrará Colleen Jones y Cole Miller. La galería no mostrará Mike Collins porque la columna Name de ese registro no comienza por la cadena de búsqueda. Ejemplo de StartsWith.
Filter( Customers, SearchInput.Text in Name ) Filtra el origen de datos Clientes para los registros en los que la cadena de búsqueda aparece en cualquier parte de la columna Name. La prueba no distingue mayúsculas de minúsculas. Si el usuario escribe co en el cuadro de búsqueda, la galería mostrará Colleen Jones,Cole Miller y Mike Collins, ya que la cadena de búsqueda aparece en algún lugar de la columna Name de todos esos registros. Ejemplo de SearchInput.Text en Name.
Search( Customers, SearchInput.Text, "Name" ) De forma parecida al uso del operador in, la función Search busca una coincidencia en cualquier parte de la columna Name de cada registro. Tenga en cuenta que debe incluir el nombre de la columna entre comillas dobles. Ejemplo de SearchInput.Text con Name.

Puede expandir la búsqueda para incluir la columna Company además de la columna Name:

Fórmula Descripción Resultado
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) ) Filtra el origen de datos Customer para buscar registros en los que la columna Name o la columna Company comienza por la cadena de búsqueda (por ejemplo, co). El || operador será true si la función StartsWith es también true. Filtrar con StartsWith.
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) Filtra el origen de datos Clientes de aquellos registros en los que la columna Name o la columna Company contienen la cadena de búsqueda en cualquier lugar (por ejemplo, co). Filtrar con texto de búsqueda en el nombre.
Search( Customers, SearchInput.Text, "Name", "Company" ) De forma parecida al uso del operador in, la función Search busca en el origen de datos Clientes aquellos registros en los que la columna Name o la columna Company contienen la cadena de búsqueda en cualquier lugar (por ejemplo, co). La función Search es más fácil de leer y escribir que Filter si desea especificar varias columnas y varios operadores in. Tenga en cuenta que debe incluir los nombres de las columnas entre comillas dobles. Filtrar con texto de búsqueda en el nombre, empresa.