Các hàm EndsWith và StartsWith
Áp dụng cho: Ứng dụng Canvas Luồng máy tính để bàn Dataverse Cột công thức Ứng dụng dựa trên mô hình Power Pages Power Platform CLI
Kiểm tra xem một chuỗi văn bản bắt đầu hay kết thúc một chuỗi văn bản khác.
Mô tả
Hàm EndsWith kiểm tra xem một chuỗi văn bản có kết thúc bằng một chuỗi khác hay không.
Hàm StartsWith kiểm tra xem một chuỗi văn bản có bắt đầu bằng một chuỗi khác hay không.
Đối với cả hai hàm, các kiểm tra không phân biệt chữ hoa chữ thường. Cả hai hàm đều trả về giá trị Boolean true hoặc false.
Sử dụng EndsWith và StartsWith với hàm Filter để tìm kiếm dữ liệu trong ứng dụng của bạn. Bạn cũng có thể sử dụng toàn tử in hoặc hàm Search để tìm kiếm bất cứ phần nào trong chuỗi văn bản, không chỉ ở đầu hoặc cuối. Sự lựa chọn hàm của bạn sẽ phụ thuộc vào nhu cầu của ứng dụng và hàm nào có thể được chỉ định cho nguồn dữ liệu cụ thể của bạn. Nếu không thể chỉ định một trong những hàm này, thì cảnh báo chỉ định sẽ xuất hiện vào thời điểm tạo ứng dụng để cảnh báo bạn về giới hạn này.
Cú pháp
Kết thúcBằng( Văn bản, Văn bản kết thúc )
- Văn bản – Bắt buộc. Văn bản để kiểm tra.
- EndText – Bắt buộc. Văn bản để tìm kiếm ở cuối Text. Nếu EndText là một chuỗi trống, thì EndsWith sẽ trả về true.
Bắt đầuVới( Văn bản, Văn bản Bắt đầu )
- Văn bản – Bắt buộc. Văn bản để kiểm tra.
- StartText – Bắt buộc. Văn bản để tìm kiếm ở đầu Text. Nếu StartText là một chuỗi trống, thì StartsWith sẽ trả về true.
Ví dụ
Công thức | Mô tả | Kết quả |
---|---|---|
Kết thúc bằng("Xin chào thế giới", "thế giới") | Kiểm tra xem "Hello World" (Xin chào mọi người) có kết thúc bằng "world" (mọi người) hay không. Kiểm tra này phân biệt chữ hoa chữ thường. | ĐÚNG VẬY |
Kết thúc bằng( "Tạm biệt", "tốt") | Kiểm tra xem "Good bye" (Tạm biệt) có kết thúc bằng "good" (biệt) hay không. Đối số EndText ("good") xuất hiện trong văn bản nhưng không ở cuối. | SAI |
EndsWith( "Luôn luôn nói xin chào", "xin chào") | Kiểm tra xem "Always say hello" (Luôn nói xin chào) có kết thúc bằng "hello" (xin chào) hay không. | ĐÚNG VẬY |
Kết thúc bằng( "Tạm biệt", "" ) | Kiểm tra xem "Bye bye" (Tạm biệt) có kết thúc bằng một chuỗi văn bản trống (Len trả về 0) hay không. Dễ dàng sử dụng biểu thức Filter, EndsWith được xác định để trả về true trong trường hợp này. | ĐÚNG VẬY |
Công thức | Mô tả | Kết quả |
---|---|---|
Bắt đầu bằng("Xin chào thế giới", "xin chào") | Kiểm tra xem "Hello World" (Xin chào mọi người) có bắt đầu bằng "hello" (xin chào) hay không. Kiểm tra này phân biệt chữ hoa chữ thường. | ĐÚNG VẬY |
Bắt đầu bằng( "Tạm biệt", "Xin chào") | Kiểm tra xem "Good bye" (Tạm biệt) có bắt đầu bằng "hello" (xin chào) hay không. | SAI |
StartsWith( "Luôn luôn nói xin chào", "xin chào") | Kiểm tra xem "Always say hello" (Luôn nói xin chào) có bắt đầu bằng "hello" (xin chào) hay không. Mặc dù "hello" (xin chào) xuất hiện trong văn bản, nhưng nó không xuất hiện ở đầu. | SAI |
Bắt đầu bằng( "Tạm biệt", "" ) | Kiểm tra xem "Bye bye" (Tạm biệt) có bắt đầu bằng một chuỗi văn bản trống (Len trả về 0) hay không. Dễ dàng sử dụng biểu thức Filter, StartsWith được xác định để trả về true trong trường hợp này. | ĐÚNG VẬY |
Trải nghiệm người dùng Tìm kiếm
Trong nhiều ứng dụng, bạn có thể nhập một hoặc nhiều ký tự vào hộp tìm kiếm để lọc danh sách các bản ghi trong một tập hợp dữ liệu lớn. Khi bạn nhập, danh sách chỉ hiển thị những bản ghi khớp với tiêu chí tìm kiếm.
Các ví dụ trong phần còn lại của chủ đề này cho thấy kết quả tìm kiếm danh sách Khách hàng có chứa dữ liệu này:
Để tạo nguồn dữ liệu này dưới dạng bộ sưu tập, hãy tạo một công cụ điều khiển Button (Nút) và đặt thuộc tính OnSelect theo công thức sau:
ClearCollect( Khách hàng, Bảng( { Tên: "Fred Garcia", Công ty: "Northwind Traders" }, { Tên: "Cole Miller", Công ty: "Contoso" }, { Tên: "Glenda Johnson", Công ty: "Contoso" }, { Tên: "Mike Collins", Công ty: "Adventure Works" }, { Tên: "Colleen Jones", Công ty: "Adventure Works" } ) )
Như trong ví dụ này, bạn có thể hiển thị danh sách các bản ghi trong công cụ điều khiển Gallery (Thư viện) ở dưới cùng của một màn hình. Gần đầu màn hình, bạn có thể thêm một công cụ điều khiển Text input (Nhập văn bản) có tên là SearchInput, để người dùng có thể chỉ định bản ghi nào họ quan tâm.
Khi người dùng nhập các ký tự vào SearchInput, kết quả trong thư viện được lọc tự động. Trong trường hợp này, thư viện được cấu hình để hiển thị các bản ghi mà tên của khách hàng (không phải tên của công ty) bắt đầu bằng chuỗi ký tự trong SearchInput. Nếu người dùng nhập co vào hộp tìm kiếm, thư viện sẽ hiển thị các kết quả sau:
Để lọc dựa trên cột Name (Tên), hãy đặt thuộc tính Items (Mục) của công cụ điều khiển thư viện theo một trong các công thức sau:
Công thức | Mô tả | Kết quả |
---|---|---|
Lọc(Khách hàng, Bắt đầu bằng(Tên, SearchInput.Text)) | Lọc nguồn dữ liệu Customers (Khách hàng) cho các bản ghi trong đó chuỗi tìm kiếm xuất hiện ở đầu cột Name (Tên). Kiểm tra này phân biệt chữ hoa chữ thường. Nếu người dùng nhập co vào hộp tìm kiếm, thư viện hiển thị Colleen Jones và Cole Miller. Thư viện không hiển thị Mike Collins do cột Name (Tên) cho bản ghi đó không bắt đầu bằng chuỗi tìm kiếm. | |
Lọc(Khách hàng, SearchInput.Text trong Tên) | Lọc nguồn dữ liệu Customers (Khách hàng) cho các bản ghi trong đó chuỗi tìm kiếm xuất hiện ở mọi nơi trong cột Name (Tên). Kiểm tra này phân biệt chữ hoa chữ thường. Nếu người dùng nhập co vào hộp tìm kiếm, thư viện sẽ hiển thị Colleen Jones,Cole Miller, và Mike Collins vì chuỗi tìm kiếm xuất hiện ở vị trí nào đó trong cột Name (Tên) của tất cả những bản ghi như vậy. | |
Tìm kiếm(Khách hàng, SearchInput.Text, "Tên") | Tương tự như việc sử dụng toán tử in, hàm Search tìm kiếm một kết quả trùng khớp ở vị trí bất kỳ trong cột Name (Tên) của mỗi bản ghi. Lưu ý rằng bạn phải đặt tên cột trong dấu ngoặc kép. |
Bạn có thể mở rộng phạm vi tìm kiếm để thêm cột Company (Công ty) cũng như Name (Tên):
Công thức | Mô tả | Kết quả |
---|---|---|
Lọc(Khách hàng, Bắt đầu bằng(Tên, SearchInput.Text) || Bắt đầu bằng(Công ty, SearchInput.Text) ) | Lọc nguồn dữ liệu Customers (Khách hàng) cho các bản ghi trong đó cột Name (Tên) hoặc cột Company (Công ty) bắt đầu bằng chuỗi tìm kiếm (ví dụ: co). Toán tử || là true nếu hàm StartsWith là true. | |
Bộ lọc (Khách hàng, SearchInput.Text trong Tên || SearchInput.Text trong Công ty) | Lọc nguồn dữ liệu Customers (Khách hàng) cho các bản ghi trong đó cột Name (Tên) hoặc cột Company (Công ty) chứa chuỗi tìm kiếm (ví dụ: co) ở vị trí bất kỳ trong nguồn dữ liệu đó. | |
Tìm kiếm(Khách hàng, SearchInput.Text, "Tên", "Công ty") | Tương tự như việc sử dụng toán tử in, hàm Search tìm kiếm nguồn dữ liệu Customers (Khách hàng) cho các bản ghi trong đó cột Name (Tên) hoặc cột Company (Công ty) chứa chuỗi tìm kiếm (ví dụ: co) ở vị trí bất kỳ trong nguồn dữ liệu đó. Hàm Search dễ đọc và viết hơn hàm Filter nếu bạn muốn chỉ định nhiều cột và nhiều toán tử in. Lưu ý rằng bạn phải đặt tên các cột trong dấu ngoặc kép. |