Quiero crear una función en Delphi que calcule diferentes niveles de dos cadenas. Si dos cadenas son iguales (ignorando el caso), entonces debería devolver 0, pero si no son iguales, debería devolver el número de caracteres diferentes. Esta función puede ser muy útil para verificar la ortografía. código¿Cómo puedo calcular una diferencia entre dos cadenas?
function GetDiffStringLevel(S1,S2:string):Integer;
begin
if SameText(S1,S2) then Exit(0);
// i want get different chars count
end
muestras:
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
Vea también: [Necesita una rutina para detectar cadenas que son similares pero no idénticas] (http://stackoverflow.com/q/10402858/576719). –