Поділитися через


Функції EndsWith і StartsWith

Застосовується до: програм Canvas Стовпців Dataverse формул потоків робочого столу Командного Power Platform рядка програм на основі моделі

Перевіряє, чи починає або закінчує текстовий рядок інший текстовий рядок.

Опис

Функція EndsWith перевіряє, чи закінчується один текстовий рядок іншим.

Функція StartsWith перевіряє, чи починається один текстовий рядок іншим.

Для обох функцій ці тести є чутливими до регістру. Повернуте значення обох — це логічне значення true або false.

Використовуйте функції EndsWith і StartsWith з функцією Filter для пошуку даних у програмі. Крім того, можна використовувати оператор in або функцію Search для пошуку в будь-якому місці в текстових рядках, а не лише на початку або в кінці. Вибір функцій залежить від потреб вашої програми, а також функції, яку можна делегувати для певного джерела даних. Якщо одна з цих функцій не може бути делегована, з’явиться попередження про делегування в момент створення, щоб попередити вас про це обмеження.

Синтаксис

EndsWith( Текст, Кінцевий текст )

  • Text – обов’язковий аргумент. Текст, який необхідно перевірити.
  • EndText — обов’язковий аргумент. Текст, пошук якого потрібно виконати в кінці Тексту. Якщо Кінцевий текст — це порожній рядок, то функція EndsWith повертає значення true.

StartsWith( Текст, Початковий текст )

  • Text – обов’язковий аргумент. Текст, який необхідно перевірити.
  • StartText — обов’язковий аргумент. Текст, пошук якого потрібно виконати на початку Тексту. Якщо Початковий текст — це порожній рядок, то функція Початковий текст повертає значення true.

Приклади

Формула Опис Результат
EndsWith( "Hello World", "world" ) Перевіряє, чи закінчується "Hello World" словом "world". Перевірка нечутлива до регістру. true
EndsWith( "Good bye", "good" ) Перевіряє, чи закінчується "Good bye" словом "good". Аргумент Кінцевий текст ("good") відображається в тексті, але не в кінці. false
EndsWith( "Always say hello", "hello" ) Перевіряє, чи закінчується "Always say hello" словом "hello". true
EndsWith( "Bye bye", "" ) Перевіряє, чи закінчується "Bye bye" пустим тестовим рядком (Len повертає 0). Щоб полегшити його використання у виразах Filter, EndsWith налаштовано повертати true у цьому випадку. true
Формула Опис Результат
StartsWith( "Hello World", "hello" ) Перевіряє, чи починається "Hello World" словом "hello". Перевірка нечутлива до регістру. true
StartsWith( "Good bye", "hello" ) Перевіряє, чи починається "Good bye" словом "hello". false
StartsWith( "Always say hello", "hello" ) Перевіряє, чи починається "Always say hello" словом "hello". Хоча слово "hello" є в тексті, воно не стоїть на початку. false
StartsWith( "Bye bye", "" ) Перевіряє, чи починається "Bye bye" пустим тестовим рядком (Len повертає 0). Щоб полегшити його використання у виразах Filter, StartsWith налаштовано повертати true у цьому випадку. true

Можливості пошуку для користувача

У багатьох програмах можна ввести один або кілька символів у поле пошуку, щоб відфільтрувати список записів у великому наборі даних. Під час введення у списку відображаються лише записи, які відповідають умовам пошуку.

Приклади в решті частини цього розділу відображають результати пошуку в списку Клієнти, який містить ці дані.

Приклад списку клієнтів.

Щоб створити це джерело даних як колекцію, створіть елемент керування Кнопка і встановіть для його властивості OnSelect цю формулу.

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

У цьому прикладі можна відобразити список записів у елементі керування "Галерея" в нижній частині екрана. У верхній частині екрана можна додати елемент керування Введення тексту, названий SearchInput, щоб користувачі могли визначити записи, які їх цікавлять.

Галерея клієнтів.

Коли користувач вводить символи в поле SearchInput, результати в галереї автоматично фільтруються. У цьому випадку галерею налаштовано відображати записи, для яких ім’я клієнта (а не назва компанії) починається з послідовності символів у полі SearchInput . Якщо у полі пошуку користувач вводить co, в галереї відображаються такі результати.

Галерея клієнтів із пошуком.

Щоб фільтрувати на основі стовпця Ім’я, налаштуйте для властивості Елементи елемента керування галереєю одну з таких формул:

Формула Опис Результат
Filter( Клієнти, StartsWith( Ім’я, SearchInput.Text ) ) Відфільтровує в джерелі даних Клієнти записи, в яких рядок пошуку відображається на початку стовпця Ім’я. Перевірка нечутлива до регістру. Якщо користувач вводить co у поле пошуку, в галереї відображаються Colleen Jones і Cole Miller. У колекції не відображається Mike Collins, оскільки стовпець Ім’я для цього запису не починається з рядка пошуку. Приклад StartsWith.
Filter( Клієнти, SearchInput.Text у Ім’я ) Відфільтровує в джерелі даних Клієнти записи, в яких рядок пошуку відображається в будь-якому місці стовпця Ім’я. Перевірка нечутлива до регістру. Якщо користувач вводить co у поле пошуку, в галереї відобразяться Colleen Jones,Cole Miller і Mike Collins, оскільки рядок пошуку присутній десь у стовпці Ім’я всіх цих записів. Приклад SearchInput.Text в імені.
Search( Клієнти, SearchInput.Text, "Ім’я" ) Подібно до використання оператора in, функція Search виконує пошук збігів у всьому стовпці Ім’я кожного запису. Зверніть увагу на те, що ім’я стовпця потрібно взяти в подвійні лапки. Приклад SearchInput.Text із іменем.

Можна розгорнути область пошуку, щоб включити стовпець Компанія, а також стовпець Ім’я.

Формула Опис Результат
Filter( Customers, StartsWith( Name, SearchInput.Text ) || StartsWith( Company, SearchInput.Text ) ) Фільтрує джерела даних Клієнти за записами, в яких стовпець Ім’я або стовпець Компанія починається з рядка пошуку (наприклад co). ||Оператор має значення true, якщо функція StartsWith має значення true. Фільтрування за допомогою StartsWith.
Filter( Customers, SearchInput.Text in Name || SearchInput.Text in Company ) Відфільтровує в джерелі даних Клієнти записи, в яких стовпець Ім’я або стовпець Компанія містить рядок пошуку (наприклад, co) у будь-якому місці стовпців. Фільтрування за текстом для пошуку в імені.
Search( Клієнти, SearchInput.Text, "Ім’я", "Компанія" ) Подібно до використання оператора in функція Search виконує пошук в джерелі даних Клієнти для записів, в яких стовпець Ім’я або стовпець Компанія містить рядок пошуку (наприклад, co) у будь-якому місці стовпців. Функцію Search простіше читати та записувати, ніж Filter, якщо потрібно вказати кілька стовпців і кілька операторів in. Зверніть увагу на те, що імена стовпців потрібно взяти в подвійні лапки. Фільтрування за текстом для пошуку в імені, компанії.