AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ähnlichkeiten im String suchen???

Ein Thema von romber · begonnen am 20. Sep 2010 · letzter Beitrag vom 20. Sep 2010
Antwort Antwort
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Ähnlichkeiten im String suchen???

  Alt 20. Sep 2010, 15:58
Delphi-Version: 5
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?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Ähnlichkeiten im String suchen???

  Alt 20. Sep 2010, 16:02
Hallo,

Ich denke für soetwas sind reguläre Ausdrücke am besten geeignet.

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Ähnlichkeiten im String suchen???

  Alt 20. Sep 2010, 16:02
Dazu gibt es verschiedenen String-Bewertungsverfahren wie Soundex oder Levensthein
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ähnlichkeiten im String suchen???

  Alt 20. Sep 2010, 16:12
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Ähnlichkeiten im String suchen???

  Alt 20. Sep 2010, 16:23
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;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#6

AW: Ähnlichkeiten im String suchen???

  Alt 20. Sep 2010, 16:24
Ich denke für soetwas sind reguläre Ausdrücke am besten geeignet.
Ich gehe doch davon aus dass es sich nur um einen Beispielstring handelte und nicht den einzig fraglichen. Insofern würde mich doch interessieren, wie du da was mit regulären Ausdrücken hinbekommen willst
Leo S.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Ähnlichkeiten im String suchen???

  Alt 20. Sep 2010, 16:28
Naja, sowas wie Bummi da oben gebaut hat, kann man auch mit RegExen machen z.B.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Ähnlichkeiten im String suchen???

  Alt 20. Sep 2010, 17:05
Ich habe hier früher mal etwas ähnliches entwickelt. Da ging es aber eher um das Vergleichen von Adressen.
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...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
runner

Registriert seit: 13. Jan 2006
36 Beiträge
 
#9

AW: Ähnlichkeiten im String suchen???

  Alt 20. Sep 2010, 20:39
@Stahli:

An dem Thema bin ich auch gerade dran. Währe nett wenn du den Sourcecode hier mal reinstellen könntest.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Ähnlichkeiten im String suchen???

  Alt 20. Sep 2010, 21:26
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...
Angehängte Dateien
Dateityp: zip StahliSuche.zip (237,3 KB, 57x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz