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 EndsWithStartsWith 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:

Ví dụ về danh sách Khách hàng.

Để 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.

Thư viện khách hàng.

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:

Thư viện khách hàng với tìm kiếm.

Để 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 JonesCole 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. Ví dụ về StartsWith.
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,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. Ví dụ về SearchInput.Text trong Name.
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. Ví dụ về SearchInput.Text với Name.

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ử ||true nếu hàm StartsWithtrue. Lọc bằng StartsWith.
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 đó. Lọc với văn bản tìm kiếm trong tên.
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. Lọc với văn bản tìm kiếm trong tên, công ty.