Đối với khối mã sau đây:Kiểm tra xem một chuỗi có chứa một phần tử từ một danh sách (các chuỗi)
For I = 0 To listOfStrings.Count - 1
If myString.Contains(lstOfStrings.Item(I)) Then
Return True
End If
Next
Return False
Đầu ra là:
Trường hợp 1:
myString: C:\Files\myfile.doc
listOfString: C:\Files\, C:\Files2\
Result: True
Trường hợp 2:
myString: C:\Files3\myfile.doc
listOfString: C:\Files\, C:\Files2\
Result: False
Danh sách (listOfStrings) có thể chứa nhiều mục (tối thiểu 20) và nó phải được kiểm tra với hàng nghìn chuỗi (như myString).
Có cách nào tốt hơn (hiệu quả hơn) để viết mã này không?
Thay vì Có Tôi muốn sử dụng StartsWith dựa trên ví dụ của mình. – tvanfosson
@tvanfosson - điều đó phụ thuộc vào việc các ví dụ có được bao gồm đầy đủ hay không, nhưng có, tôi đồng ý. Đơn giản để thay đổi, tất nhiên. –
Cách mã này hiệu quả hơn bao nhiêu ở cấp độ thuật toán? Nó ngắn hơn và nhanh hơn nếu các vòng trong "Bất kỳ" nhanh hơn, nhưng vấn đề mà bạn phải thực hiện khớp chính xác nhiều lần là như nhau. –