Hi
ich habe einen kleinen Texteditor als Ersatz für den Notepad geschrieben. Der funktioniert auch prima ... aber ...
Eine der Sonderfunktionen, die ich benötige, ist die "insensitive Suche" ... d.h. die Groß-Kleinschreibung wird ignoriert, aber auch Akzente, also e = é, è, ê ... und v.a.m. Mit anderen Worten, ich kann nicht einfach die Standard Methoden aus .NET zur Suche verwenden.
Ich habe eine Funktion
Meine Daten stehen in
Und dann lasse ich
Dann teste ich
Das ist natürlich sehr "hausbacken". Bei kleinen Strings klappt das prima - aber bei großen Datenmengen dauert es Minuten, vor allem wenn der String nicht gefunden wird ! txtData.Text kann mehrere MB groß sein.
Gibt es denn performantere Methoden einer "insensitiven Suche" ? Natürlich muss ich vorwärts und rückwärts suchen können.
Vielleicht hat jemand eine schlaue Idee ...
LG
Peter
ich habe einen kleinen Texteditor als Ersatz für den Notepad geschrieben. Der funktioniert auch prima ... aber ...
Eine der Sonderfunktionen, die ich benötige, ist die "insensitive Suche" ... d.h. die Groß-Kleinschreibung wird ignoriert, aber auch Akzente, also e = é, è, ê ... und v.a.m. Mit anderen Worten, ich kann nicht einfach die Standard Methoden aus .NET zur Suche verwenden.
Ich habe eine Funktion
RemoveAccents
geschrieben, die einen vereinheitlichten String zurückliefert.Meine Daten stehen in
txtData
. Der vereinheitlichte Suchstring steht inSearchText
Und dann lasse ich
i
von 0 bis TxtData.Length laufen (vorwärts oder rückwärts) und hole mir die jeweiligen Daten:Dann teste ich
Das ist natürlich sehr "hausbacken". Bei kleinen Strings klappt das prima - aber bei großen Datenmengen dauert es Minuten, vor allem wenn der String nicht gefunden wird ! txtData.Text kann mehrere MB groß sein.
Gibt es denn performantere Methoden einer "insensitiven Suche" ? Natürlich muss ich vorwärts und rückwärts suchen können.
Vielleicht hat jemand eine schlaue Idee ...
LG
Peter