Comprueba si una cadena de texto comienza otra cadena de texto.

Descripción

La función StartsWith comprueba si una cadena de texto comienza con otra. La prueba no distingue mayúsculas de minúsculas. El valor devuelto es un valor booleano true o false.

Use StartsWith con la función Filtro para buscar los datos dentro de la aplicación. También puede usar el operadorin o la función Buscar para realizar una búsqueda en cualquier lugar dentro de las cadenas de texto, no solo al principio. 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, aparecerá un punto azul en el momento de la creación para avisarle de esta limitación.

Sintaxis

StartsWith( Text, StartText )

  • Texto: requerido. Texto que se va a probar.
  • StartText: requerido. 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
StartsWith( "Hello World", "hello" ) Prueba si "Hello World" comienza con "hello". La prueba no distingue mayúsculas de minúsculas. true
StartsWith( "Good bye", "hello" ) Prueba si "Good bye" comienza con "hello". false
StartsWith( "Always say hello", "hello" ) Prueba si "Always say hello" comienza con "hello". Aunque "hello" aparece en el texto, no aparece al principio. false

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:

Para crear este origen de datos como una colección, cree un control Botón y establezca la propiedad AlSeleccionar en esta fórmula:

ClearCollect( Clientes, Tabla( { Nombre: "Fred Garcia", Empresa: "Northwind Traders" }, { Nombre: "Cole Miller", Empresa: "Contoso" }, { Nombre: "Glenda Johnson", Empresa: "Contoso" }, { Nombre: "Mike Collins", Empresa: "Adventure Works" }, { Nombre: "Colleen Jones", Empresa: "Adventure Works" } ) )

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

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:

Para filtrar según la columna Nombre, establezca la propiedad Elementos del control Galería en una de estas fórmulas:

Fórmula Descripción Resultado
Filtrar( Clientes, StartsWith( Nombre, 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 Nombre. 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 Nombre de ese registro no comienza por la cadena de búsqueda.
Filtrar( Clientes, 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 Nombre. 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 Nombre de todos esos registros.
Buscar( Clientes, SearchInput.Text, "Nombre" ) De forma parecida al uso del operador in, la función Buscar busca una coincidencia en cualquier parte de la columna Nombre de cada registro. Tenga en cuenta que debe incluir el nombre de la columna entre comillas dobles.

Puede expandir la búsqueda para incluir la columna Empresa además de la columna Nombre:

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