EndsWith 和 StartsWith 函式
適用於: 畫布應用 桌面流 Dataverse 公式列 模型驅動應用 Power Pages Power Platform CLI
測試某個文字字串的開頭或結尾是否為另一個文字字串。
描述
EndsWith 函式會測試某個文字字串的結尾是否為另一個文字字串。
StartsWith 函式會測試某個文字字串的開頭是否為另一個文字字串。
對於這兩個函式,測試不區分大小寫。 兩者的傳回值都是布林值 true 或 false。
使用 EndsWith 和 StartsWith 搭配 Filter 函式可搜尋應用程式內的資料。 您也可以使用 in 運算子或 Search 函式來查看文字字串內的任何位置,而不只是查看開頭或結尾。 您所選擇的函式取決於您應用程式的需求,以及您的特定資料來源可以 委派 的函式。 如果無法委派其中一個函式,則會在撰寫時出現委派警告,警告您有這項限制。
語法
EndsWith( 文本, EndText )
- Text –必需。 要測試的文字。
- EndText –必需。 要在 Text 結尾搜尋的文字。 如果 EndText 為空白字串,EndsWith 會傳回 true。
StartsWith( 文本, StartText )
- Text –必需。 要測試的文字。
- StartText –必需。 要在 Text 開頭搜尋的文字。 如果 StartText 為空白字串,StartsWith 會傳回 true。
範例
公式 | 描述 | 結果 |
---|---|---|
EndsWith(“你好世界”,“世界”) | 測試 "Hello World" 是否以 "world" 為結尾。 此測試不區分大小寫。 | 真 |
EndsWith(“再見”,“好”) | 測試 "Good bye" 是否以 "good" 為結尾。 EndText 引數 ("good") 出現在文字中,但不是在結尾。 | 假 |
EndsWith(“總是說你好”,“你好”) | 測試 "Always say hello" 是否以 "hello" 為結尾。 | 真 |
EndsWith(“再見”,“”) | 測試 "Bye bye" 是否以空白文字字串為結尾 (Len 會傳回 0)。 在 Filter 運算式中更好使用,此情況下 EndsWith 定義會傳回 true。 | 真 |
公式 | 描述 | 結果 |
---|---|---|
StartsWith(“你好世界”,“你好”) | 測試 "Hello World" 的開頭是否為 "hello"。 此測試不區分大小寫。 | 真 |
StartsWith(“再見”,“你好”) | 測試 "Good bye" 的開頭是否為 "hello"。 | 假 |
StartsWith(“總是說你好”,“你好”) | 測試 "Always say hello" 的開頭是否為 "hello"。 雖然 "hello" 出現在文字中,但不是在開頭出現。 | 假 |
StartsWith(“再見”,“”) | 測試 "Bye bye" 是否以空白文字字串為開頭 (Len 會傳回 0)。 在 Filter 運算式中更好使用,此情況下 StartsWith 定義會傳回 true。 | 真 |
搜尋使用者體驗
在許多應用程式中,您可以在搜尋方塊中輸入一或多個字元,以篩選大型資料集內的記錄清單。 當您輸入時,此清單只會顯示符合搜尋條件的記錄。
本主題其餘部分的範例會顯示搜尋 客戶清單的結果,該清單中包含此資料︰
若要將此資料來源建立為集合,請建立 Button 控制項,並將其 OnSelect 屬性設為以下公式︰
ClearCollect(customers,table( { 名稱:“Fred Garcia”,公司:“Northwind Traders” }, { 名稱:“Cole Miller”,公司:“Contoso” }, { 名稱:“Glenda Johnson”,公司:“Contoso” }, { 名稱:“Mike Collins”,公司:“Adventure Works” }, { 名稱:“Colleen Jones”,公司:“Adventure Works”) }
和此範例一樣,您可以在畫面底部的 Gallery 控制項 中顯示記錄清單。 在靠近畫面頂端的地方,您可以新增名為 SearchInput 的 Text input 控制項,讓使用者可以指定其感興趣的記錄。
當使用者在 SearchInput 中輸入字元時,資源庫中的結果會自動經過篩選。 在此案例中,資源庫會設定為顯示客戶名稱 (而非公司名稱) 開頭為 SearchInput 中字元序列的記錄。如果使用者在搜尋方塊中輸入 co,資源庫會顯示下列結果︰
若要根據 名稱 欄位進行篩選,請將資源庫控制項的 Items 屬性設定為下列其中一個公式︰
公式 | 描述 | 結果 |
---|---|---|
Filter (客戶,StartsWith(名稱,SearchInput.Text))) | 篩選 客戶 資料來源中,Name 欄位開頭出現此搜尋字串的記錄。 此測試不區分大小寫。 如果使用者在搜尋方塊中輸入 co,資源庫會顯示 Colleen Jones 和 Cole Miller。 資源庫不會顯示 Mike Collins,因為該筆記錄的 Name 欄位開頭不是此搜尋字串。 | |
filter(customers,SearchInput.text in name) | 篩選 客戶 資料來源中,Name 欄位任意處出現此搜尋字串的記錄。 此測試不區分大小寫。 如果使用者在搜尋方塊中輸入 co,資源庫會顯示 Colleen Jones、Cole Miller 和 Mike Collins,因為這些記錄的 Name 欄位某處皆出現此搜尋字串。 | |
Search(客戶,SearchInput.Text,“名稱”) | 類似於使用 in 運算子,Search 函式會搜尋每一筆記錄的 Name 欄位內任意處是否有相符項目。 請注意,您必須以雙引號括住欄位名稱。 |
您可以擴大搜尋,將 Company 欄位及 Name 欄位納入其中︰
公式 | 描述 | 結果 |
---|---|---|
filter(customers,StartsWith(name,SearchInput.Text)||StartsWith (Company,SearchInput.Text)) | 篩選 客戶 資料來源中,Name 欄位或 Company 資料來源欄位開頭為此搜尋字串 (例如,co) 的記錄。 若任一 StartsWith 函式為 true,則 ||運算子 為 true。 | |
filter(customers,SearchInput.text in name ||公司中的 SearchInput.Text) | 篩選 客戶 資料來源中,Name 欄位或 Company 欄位內的任意處包含此搜尋字串 (例如,co) 的記錄。 | |
Search(客戶,SearchInput.Text,“Name”,“Company”) | 類似於使用 in 運算子,Search 函式會搜尋 客戶 資料來源中,Name 欄位或 Company 欄位內的任意處包含此搜尋字串 (例如,co) 的記錄。 如果您想要指定多個欄位和多個 in 運算子,Search 函式會比 Filter 更容易理解和撰寫。 請注意,您必須以雙引號括住欄位名稱。 |