2007. szeptember 4., kedd
How to compare two strings and measure the percentage they match
Problem/Question/Abstract:
Does anyone know how or does anyone know of a good procedure to match two strings? What I want is a % match between two strings. Something like Hart and Harts are 80% equal.
Answer:
uses
math;
function IsStrMatch(s1, s2: string): Double;
var
i, iMin, iMax, iSameCount: Integer;
begin
iMax := Max(Length(s1), Length(s2));
iMin := Min(Length(s1), Length(s2));
iSameCount := -1;
for i := 0 to iMax do
begin
if i > iMin then
break;
if s1[i] = s2[i] then
Inc(iSameCount)
else
break;
end;
if iSameCount > 0 then
Result := (iSameCount / iMax) * 100
else
Result := 0.00;
end;
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése