![]() |
Erweiterte Suche im Text???
Hallo!
Ich möchte überprüfen, ob eine dynamisch vom Benutzer eingegebene Zeichenfolge in einem String vorhanden ist. Das geht doch ganz einfach mit pos:
Code:
Ok, funktioniert gut. Ich möchte es jetzt so machen, dass auch änliche Zeichenfolgen gefunden werden. Zum Beispiel man möchte prüffen, ob die Zeichenfolge 2 Zimmer Wohnung in einem Text vorhanden ist. Im Text ist diese vorhanden, aber mit Bindestrich 2-Zimmer Wohnung oder gar zusammengeschrieben 2 Zimmerwohnung. Diese müssen auch erkannt werden. Hat jemand schon so etwas gemacht? Wie mache ich das?
...
if pos(LowerCase(Edit1.Text), LowerCase(Memo1.Text)) > 0 then ShowMessage('String gefunden!') Danke! |
Re: Erweiterte Suche im Text???
Das kannst du mit einer
![]() |
Re: Erweiterte Suche im Text???
Erstmal Vielen Dank für die schnelle Antwort!
Ich habe eine Delphi-Unit gefunden, eine Implementation des Levenshteins-Algo. Aber wie kann es mir helfen? Die Funktion liefert ledeglich ein Integer-Wert, der Anzahl der insgesamt durchgeführten Änderungen an einem String anzeigt, damit dieser String dem Suchstring gleich ist. Was kann ich damit anfangen? Oder verstehe ich irgendwas falsch? |
Re: Erweiterte Suche im Text???
wenn der kleiner als sagen wir 3 ist, dann isses "ähnlich"
oder halt kleiner als 5...kommt halt drauf an |
Re: Erweiterte Suche im Text???
Ich würde den Rückgabewert irgendwie mit der Länge des Suchstrings verrechnen. In deinem Fall "2Raumwohnung" würde ich eine Levensthein-Distanz von 3 immer noch als Ergebnis interpretieren. Wie du das allerdings speziell löst, bleibt dir vorbehalten.
Und nein, du verstehst nichts falsch ;) Je niedriger der Funktionswert, desto ähnlicher sind sich die Strings. |
Re: Erweiterte Suche im Text???
Das verstehe ich alles. Ein seht gutes Algo, wenn man eine Liste von Wörtern hat und die dem Suchstring änliche Wörter rausfiltern möchte. Bei mir ist es aber anders: ich habe ein Text, praktisch ein Satz (keine Stringliste oder so), in dem irgendwo ein Wort steht, der entweder dem Suchstring gleich oder sehr ähnlich ist. Dabei muss es mir nur mitgeteilt werden, ob der Suchstring oder ein ähliches Word in dem Text vorhanden ist. Genauso, wie man mithilfe pos überprüfft, ob eine Zeichenfolge vorhanden ist. Was den nun?
|
Re: Erweiterte Suche im Text???
den satz in einzelne wörter aufteile (
![]() |
Re: Erweiterte Suche im Text???
Du könntest in deinem Beispiel auch die Strings alle kleinschreiben (
![]() |
Re: Erweiterte Suche im Text???
Zitat:
|
Re: Erweiterte Suche im Text???
Hi!
Zitat:
Aber ne Idee isses wert - schlags doch mal vor in Fragen und Anregungen. Ciao Frederic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:25 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