Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Weiche Suche programmieren? (https://www.delphipraxis.net/40811-weiche-suche-programmieren.html)

atreju2oo0 21. Feb 2005 14:02


Weiche Suche programmieren?
 
Also mein Problem ist folgendes:

Ich lese aus einer Datei Usernamen aus und speichere die in einer Liste.
Da es jedoch ungefähr 16000 User sind die zum Glück den Sinn von Sonderzeichen
verstanden haben und versuchen diese so oft wie möglich zu benutzen ist es schwer meine
jetztige Suchfunktion zu benutzen, da diese nur einen 100% Vergleich macht.
Viel lieber wäre es mir wenn man "so ungefähr" den Namen eingibt und er mehrere Ergebnisse liefert
von dennen man dann den Richtigen aussucht.

Ich hab hier im Forum auch schon gesucht, aber nur Algos zum Buchstaben ersetzen gefunden (ss=ß und so) ...

Gibt es irgendwo Material für soeine weiche Suche bzw. heisst das wirklich so?
(Vielleicht suche ich ja nach dem falschen...)

Danke Thomas

Binärbaum 21. Feb 2005 14:13

Re: Weiche Suche programmieren?
 
Man kann die Namen ja auch teilweise vergleichen mit Delphi-Referenz durchsuchenpos.
Delphi-Quellcode:
var username, suchtext: string;
...
username:= 'UserNr1';
suchtext:= 'Nr';
//evtl. in Kleinbuchstaben umwandeln, damit nicht case-sensitiv
username:= LowerCase(username);
suchtext:= LowerCase(suchtext);
if pos(suchtext, username)>=1 then begin
  //Name gefunden
 ...
end
else //nicht gefunden...
MfG
Binärbaum

Ultimator 21. Feb 2005 14:16

Re: Weiche Suche programmieren?
 
Zitat:

Gibt es irgendwo Material für soeine weiche Suche bzw. heisst das wirklich so?
Ich glaube das haeißt Fuzzy Search oder so. Irgendwas mit Fuzzy wars zumindest ;-)

shmia 21. Feb 2005 14:17

Re: Weiche Suche programmieren?
 
Levenshtein-Distanz:
http://www.delphi-fundgrube.de/faq13.htm#topic1313

atreju2oo0 21. Feb 2005 16:12

Re: Weiche Suche programmieren?
 
Danke shmia...
Genau sowas hab ich gesucht!
Scheint auch gut zu klappen...

Danke natürlich auch an den Rest aber Pos alleine war leider nciht aussreichend!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz