![]() |
Delphi-Version: 5
Ähnlichkeiten im String suchen???
Hallo!
Ich habe einen String, in dem ich eine Zeichenkette finden muss. Genauer gesagt prüfen, on sich die Zeichenkette im String befindet, auch wenn diese falsch geschrieben ist. Z.B. habe ich einen String: LED TV Samsung UE55C9090 Schwarz + Alu Nun muss ich prüfen, ob Zeichenkette UE55C9090 in diesem String befinden. Und auch wenn im String z.B. UE 55C9090 oder UE55C-9090 oder UE-55C/9090 oder UE 55 C 90 90 oder noch etwas ähnliches steht, muss die Funktion ein positives Ergebnis liefer. Wie realisiere ich so eine Suchfunktion? |
AW: Ähnlichkeiten im String suchen???
Hallo,
Ich denke für soetwas sind reguläre Ausdrücke am besten geeignet. Gruß Neutral General |
AW: Ähnlichkeiten im String suchen???
Dazu gibt es verschiedenen String-Bewertungsverfahren wie Soundex oder Levensthein
|
AW: Ähnlichkeiten im String suchen???
Bei deinen Beispielen würde es auch reichen, wenn man alle Sonderzeichen (alles außer Buchstaben und Zahlen) "rauslöscht" und dann nur noch in diesem sucht.
|
AW: Ähnlichkeiten im String suchen???
vielleicht willst Da das fertig basteln?
Delphi-Quellcode:
Function InString(search,S:String):Boolean;
var i:Integer; buffer:String; begin S := UpperCase(s); search := Uppercase(search); for I := 1 to Length(S) do if not (S[i] in [#0..#32,'.','/','-']) then buffer := buffer + s[i]; Result := Pos(search , Buffer) > 0; end; |
AW: Ähnlichkeiten im String suchen???
Zitat:
|
AW: Ähnlichkeiten im String suchen???
Naja, sowas wie Bummi da oben gebaut hat, kann man auch mit RegExen machen z.B.
|
AW: Ähnlichkeiten im String suchen???
Ich habe
![]() Dabei ist die Reihenfolge der Worte rel. unerheblich. Sonderzeichen werden ignoriert. Wenn Du magst, und das für Deine Zwecke anpassen willst, kann ich es nochmal raussuchen... |
AW: Ähnlichkeiten im String suchen???
@Stahli:
An dem Thema bin ich auch gerade dran. Währe nett wenn du den Sourcecode hier mal reinstellen könntest. |
AW: Ähnlichkeiten im String suchen???
Liste der Anhänge anzeigen (Anzahl: 1)
Gerne! Anbei das Projekt.
Damals habe ich D2006 genutzt und jetzt noch einmal alles zusammen gesucht (ich hoffe, dass so alles passt). Bei Fragen oder Problemen einfach nachfragen. Ursprünglich habe ich damit Adressen verglichen, wobei auch unterschiedliche Reihenfolgen (PLZ, Ort, Straße, HausNr) und Schreibfehler toleriert wurden. Bei dem Adressenvergleich wurden dann auch noch Teile vor und Nach "c/o" über kreuz verglichen (das ist hier nicht dabei). Bin mal gespannt, ob es Euch etwas hilft... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:07 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