Hallo,
such' mal nach SoundEx,
Kölner Phonetik und
Levenshteindistanz.
SoundEx müsste bei Delphi schon dabei sein (StrUtils.pas), ist für Deine Vorstellung aber nur sehr bedingt geeignet.
Die Kölner Phonetik bringt für meine Begriffe gute Suchergebnisse, wenn es z. B. um die Prüfung von Adressbeständen auf identische Sätze bei unterschiedlicher Schreibweise geht. Aber auch für Volltextsuchen kann man sie verwenden, wenn man die Texte vorher entsprechend aufbereitet.
Für Dein Beispiel würde sich folgende Vorgehensweise eignen:
In der Stringliste speicherst Du keine Texte, sondern die entsprechenden Representationen der Kölner Phonetik. Die Suchbegriffe wandelst Du vor der eigentliche Suche entsprechend um und suchst dann mit Stringliste.IndexOf.
Die Beschreibung der Kölner Phonetik bei Wikipedia ist gut genug, um innerhalb von vielleicht mal 'ner Stunde, eine entsprechende Funktion zu schreiben. 'ne Forschleife und ein Case sollten da schon fast ausreichen.