![]() |
Zwei stringlisten vergleichen[Gelöst]
Hu leute,
Sitze nun mal wieder eine weile an einem problem. ich habe zwei stringlisten, und möchte jeweils die anzahl der gleichen eintrage rausfinden, dafür prüfe ich mit jeden eintrag die einträge der zweiten liste durch:
Delphi-Quellcode:
Doch das ergebnis ist niemals gleich, obwohl ich mir beide einträge schon ausgeben lassen hab, diese völlig identisch waren ( auch keine leerzeichen vorher oder hinterher, natürlich auch groß/kleinschreibung kein unterschied ( habs trozdem extra noch mit lowercase() probiert..)).
for I2 := 0 to inputlist.count - 1 do
begin for I3 := 0 to keys.count - 1 do begin if inputlist.Strings[i2] = keys.strings[i3] then inc(gleich); else dec(gleich); Deswegen weiss ich nun echt nichtmehr weiter. Fehlermeldungen werden keine ausgegeben. Hoffentlich kann mir hier jemand zu der späten stunde noch helfen :D :bounce1: mfg Ebil |
Re: Zwei stringlisten vergleichen
Du willst die Schnittmenge bilden ?
![]() Wenn Gross-/Kleinschreibung egal sein soll, muss du vorher alle Elemente in Grossbuchstaben wandeln. |
Re: Zwei stringlisten vergleichen
Naja es geht nicht darum das ich probleme hab 2 strings der listen zu vergleichen, sonder ich hab ein problem mit dem ergebnis, das einfach falsch ist. Habs trozdem ausprobiert und die procedur findet auch keine gleichen strings, was aber leider sein muss!
Wenn ich selbst anstatt des verlgeichs 'hi' = 'hi' schreibe funktioniert es, logischerweise, wenn ich aber 'hi' in mein edit feld schreibe, das dann delimiter mach ( was bei einem wort keinen sinn macht schon klar ^^ ), dies dann mit einer anderen liste vergleiche wo 100% 'hi' drin vorkommt, werden keine gleichen gefunden. Natürlich habe ich das ganze überprüft und lasse mir den kompletten vorgang ausgeben: Zitat:
Naja wie man sieht werden keine gleichen gefunden obwohl man eindeutig sieht das es gleich ist. Also was kann an 2 wörtern verschieden sein, die mit dem menschlichen auge identisch sind? :wall: //Edit: Oh gott ich glaub es ist echt zu spät für mich. Natürlich wird alles richtig verglichen, nur wird halt 2 mal -1 gemacht, und was ergibt 1-2 wohl... warum muss ich nur immer diese denkfehler haben :/ Naja trozdem danke. |
Re: Zwei stringlisten vergleichen
Trotzdem nochmal hier :)
Delphi-Quellcode:
a.txt
var
a: TStringlist; b: TStringlist; procedure TForm1.FormCreate(Sender: TObject); begin a:=Tstringlist.create; b:=Tstringlist.create; a.LoadFromFile('a.txt'); b.loadfromfile('b.txt'); end; procedure TForm1.Button1Click(Sender: TObject); var i,j:integer; begin for i:=0 to a.count-1 do begin for j:=0 to b.count-1 do begin if a[i]=b[j] then Memo1.lines.add('a'+inttostr(i)+' entspricht '+'b'+inttostr(j)); end; end; Showmessage(inttostr(Memo1.lines.count)); end; Haus Hallo Kekse Baum b.txt Ort Hallo Haus Keks Showmessage:2 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 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