Chcę utworzyć funkcję w Delphi, która oblicza różne poziomy dwóch ciągów. Jeśli dwa ciągi są równe (ignorowanie wielkości liter), to powinno zwrócić 0, ale jeśli nie są równe, powinno zwrócić liczbę różnych znaków. Ta funkcja może być bardzo przydatna do sprawdzania pisowni. KodJak mogę obliczyć różnicę między dwoma ciągami?
function GetDiffStringLevel(S1,S2:string):Integer;
begin
if SameText(S1,S2) then Exit(0);
// i want get different chars count
end
próbki:
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
Zobacz też: [Potrzebujesz procedury do wykrywania ciągów podobnych, ale nie identycznych] (http://stackoverflow.com/q/10402858/576719). –