Tôi muốn tạo một hàm trong Delphi tính các mức khác nhau của hai chuỗi. Nếu hai chuỗi bằng nhau (bỏ qua trường hợp), thì nó sẽ trả về 0, nhưng nếu chúng không bằng nhau, nó sẽ trả về số ký tự khác nhau. Chức năng này có thể rất hữu ích để kiểm tra chính tả.Làm cách nào để tính toán sự khác biệt giữa hai chuỗi?
function GetDiffStringLevel(S1,S2:string):Integer;
begin
if SameText(S1,S2) then Exit(0);
// i want get different chars count
end
mẫu mã:
Diff:=GetDiffStringLevel('Hello','Hello');// Diff:=0;
Diff:=GetDiffStringLevel('Hello','2Hello');// Diff:=1;
Diff:=GetDiffStringLevel('Hello','H2ello');// Diff:=1;
Diff:=GetDiffStringLevel('Hello','Hello W');// Diff:=2;
Diff:=GetDiffStringLevel('Hello','World');// Diff:=6; or 5
Xem thêm: [Cần một thường trình để phát hiện các chuỗi tương tự nhưng không giống nhau] (http://stackoverflow.com/q/10402858/576719). –