Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Vergleichen von 2 Strings (prozentual)

  Alt 26. Sep 2010, 16: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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