Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: Приложения
На основе холста Copilot Studio
Desktop потоки формул
dataverse,
управляемые моделью приложений
Power Platform CLI
, функции
Power Pages
Эти функции проверяют, есть ли в начале или в конце одной текстовой строки другая текстовая строка.
Описание
Функция проверяет, заканчивается ли одна текстовая EndsWith строка другой.
Функция проверяет, начинается ли одна текстовая StartsWith строка с другой.
Для обеих функций тесты не чувствительны к регистру, если внутренний источник данных поддерживает его по умолчанию. Например, коллекции, Dataverse, SharePoint и интенсивность обращений в службу поддержки SQL Server по умолчанию. Oracle — нет. Обе функции возвращают логическое значение true или false.
Используйте EndsWith функцию StartsWithфильтра для поиска данных в приложении. Кроме того, для поиска значений в любом месте текстовых строк (а не только в начале или конце) можно использовать оператор in или функцию Search. Выбор функции зависит от потребностей приложения и от того, какую функцию можно делегировать для конкретного источника данных. Если какую-либо из этих функций нельзя делегировать, на этапе создания появится предупреждение о делегировании.
Синтаксис
EndsWith( Текст, EndText )
- Text — обязательный аргумент. Проверяемый текст.
- EndText — обязательный аргумент. Текст, который нужно найти в конце аргумента Text. Если EndText является пустой строкой, EndsWith возвращает значение true.
StartsWith( Текст, StartText )
- Text — обязательный аргумент. Проверяемый текст.
- StartText — обязательный аргумент. Текст, который нужно найти в начале аргумента Text. Если StartText является пустой строкой, StartsWith возвращает значение true.
Примеры
| Формула | Описание | Результат |
|---|---|---|
| EndsWith( Hello World, "world" ) | Проверяет, заканчивается ли строка Hello World словом world. При проверке регистр не учитывается. | true |
| EndsWith( "Гуд bye", "хороший" ) | Проверяет, заканчивается ли строка Good bye словом good. Аргумент EndText (good) есть в тексте, но не в конце строки. | false |
| EndsWith( Всегда говорю привет, "hello" ) | Проверяет, заканчивается ли строка Always say hello словом hello. | true |
| EndsWith( "Bye bye", "" ) | Проверяет, заканчивается ли текст Bye bye пустой текстовой строкой (Len возвращает значение 0). Упрощение его использования в выражениях EndsWithфильтра определяется для возврата true в данном случае. | true |
| Формула | Описание | Результат |
|---|---|---|
| StartsWith( "Hello World", "hello" ) | Проверяет, начинается ли строка "Hello World" со строки "hello". При проверке регистр не учитывается. | true |
| StartsWith( "Гуд bye", "hello" ) | Проверяет, начинается ли строка "Good bye" с "hello". | false |
| StartsWith( Всегда говорю привет, "hello" ) | Проверяет, начинается ли строка "Always say hello" с "hello". Хотя текст "hello" есть в исходной строке, он расположен не в начале. | false |
| StartsWith( "Bye bye", "" ) | Проверяет, начинается ли текст Bye bye с пустой текстовой строки (Len возвращает значение 0). Упрощение его использования в выражениях StartsWithфильтра определяется для возврата true в данном случае. | true |
Оптимизация поиска
В большинстве приложений вы можете ввести один или несколько символов в текстовом поле, чтобы отфильтровать список в большом наборе данных. При вводе в списке отображаются только те записи, которые соответствуют заданным условиям поиска.
Примеры, приведенные в остальной части статьи, — это результаты поиска в списке Customers, содержащем указанные ниже данные.
Чтобы создать этот источник данных в виде коллекции, создайте элемент управления Button и задайте в качестве значения свойства OnSelect следующую формулу:
ClearCollect( Клиенты, table( { Name: "Fred Garcia", Company: "Northwind Traders" }, { Name: "Cole Miller", Company: "Contoso" }, { Name: "Glenda Johnson", Company: "Contoso" }, { Name: "Майк Коллинз", компания: "Adventure Works" }, { Name: "Colleen Jones", company: "Adventure Works" } )
Как показано в этом примере, вы можете вывести список записей в элемент управления Gallery (Коллекция) в нижней части экрана. В верхней части экрана можно добавить элемент управления для Text input (Ввод текста) под названием SearchInput, что позволит пользователям указывать интересующие их записи.
При вводе символов в текстовом поле SearchInput результаты в коллекции автоматически фильтруются. В этом случае в коллекции будут отображаться записи, где имена клиентов (не названия компаний) начинаются с последовательности символов, указанных в текстовом поле SearchInput. Если пользователь введет в поле поиска co, в коллекции отобразятся следующие результаты:
Чтобы выполнить фильтрацию результатов по столбцу Name, задайте в качестве значения свойства Items элемента управления Gallery одну из этих формул:
| Формула | Описание | Результат |
|---|---|---|
| Filter( Customers, ( Name, StartsWithSearchInput.Text ) ) | Фильтрует источник данных Customers по записям, в которых искомая строка находится в начале столбца Name. При проверке регистр не учитывается. Если пользователь введет в поле поиска co, в коллекции отобразятся следующие результаты: Colleen Jones и Cole Miller. В этом случае значение Mike Collins не отобразится, так как в столбце Name запись не начинается с искомой строки. |
|
| Filter( Customers, SearchInput.Text в имени ) | Фильтрует источник данных Customers по записям, в которых искомая строка находится в любом положении в столбце Name. При проверке регистр не учитывается. Если пользователь введет в поле поиска co, в коллекции отобразятся следующие результаты: Colleen Jones,Cole Miller и Mike Collins. Это связано с тем, что записи столбца Name содержат искомую строку (в любом положении). |
|
| Search( Customers, SearchInput.Text, Name ) | Как и при использовании оператора in, функция Search выполняет поиск соответствий во всех положениях записей в столбце Name. Обратите внимание, что имя столбца необходимо заключить в двойные кавычки. |
|
Вы можете расширить область поиска, добавив столбец Company и Name.
| Формула | Описание | Результат |
|---|---|---|
| Filter( Customers, ( Name, StartsWithSearchInput.Text ) || StartsWith( Компания, SearchInput.Text ) ) | Фильтрует источник данных Customers по записям, в которых записи в столбце Name или Company начинаются со строки поиска (например, co). Оператор имеет значение true, || если любая StartsWith функция имеет значение true. |
|
| Filter( Customers, SearchInput.Text в имени || SearchInput.Text в компании ) | Фильтрует источник данных Customers по записям, в которых искомая строка (например, co) находится в любом положении в столбце Name или Company. |
|
| Search( Customers, SearchInput.Text, Name, "Company" ) | Как и при использовании оператора in, функция Search ищет в источнике данных Customers записи, в которых искомая строка (например, co) находится в любом положении в столбце Name или Company. В отличие от функции Filter, функцию Search проще записывать и читать. Это следует учитывать, если вы хотите указать несколько столбцов и операторов in. Обратите внимание, что имена столбцов необходимо заключать в двойные кавычки. |
|