Ich möchte eine Funktion in Delphi erstellen, die verschiedene Ebenen von zwei Strings berechnet. Wenn zwei Zeichenfolgen gleich sind (Groß-/Kleinschreibung wird ignoriert), sollte sie 0 zurückgeben, wenn sie jedoch nicht gleich sind, sollte sie die Anzahl der verschiedenen Zeichen zurückgeben. Diese Funktion kann sehr nützlich sein, um die Rechtschreibung zu überprüfen.Wie kann ich einen Unterschied zwischen zwei Strings berechnen?
function GetDiffStringLevel(S1,S2:string):Integer;
begin
if SameText(S1,S2) then Exit(0);
// i want get different chars count
end
Proben Code:
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
Siehe auch: [Brauchen Sie eine Routine, um Zeichenfolgen zu erkennen, die ähnlich, aber nicht identisch sind] (http://stackoverflow.com/q/10402858/576719). –