Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.196 Beiträge
 
Delphi 12 Athens
 
#15

AW: Vergleichen von 2 Strings (prozentual)

  Alt 26. Sep 2010, 15:16
Es gibt auch noch die Levenshtein-Distanz, welcher die Anzahl der nötigen Änderungen zählt, welche man braucht um aus dem einen den anderen String zu machen.

Je kleiner die Zahl, umso gleicher sind die Strings.

Prozent = 100 * LevenshteinDistanz div Max(Length(Str1), Length(Str2)) .



Auch SoundEx prüft auf gewisse Ähnlichkeiten.



Wenn Groß-/Kleinschreibung egal sind und der Algorithmus dieses mit auswertet, dann halt vorher noch beide String durch AnsiUpperCase jagen.

Wenn Sonderzeichen egal sind und diese ebenfalls vom Algo beachtet werden, dann diese eben vorher entfernen/rausfiltern.

(oder den Algo entsprechend abändern)




Also im Prinzip müßte man erstmal genau definieren was du unter "gleich" verstehst
und daraus leitet sich dann der nötige Algorithmus ab, welchen man verwenden könnte.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Sep 2010 um 15:20 Uhr)
  Mit Zitat antworten Zitat