Hallo,
ich habe viele Texte, die ich auf bestimmte Wörter hin durchsuche. Bis jetzt habe ich es mit string.IndexOf(suchWort); gemacht. Doch habe ich festgestellt, dass z.B. wenn ich nach dem Wort 'brand' suche, ich auch ein positvies Ergebniss bei dem Wort 'Sonnenbrand' bekomme.
Wie könnte ich den Texte durchsuchen, dass ich auch nur Wörter mit Wörtern vergeiche und nicht, wie IndexOf es macht, suche, ob ein Wort auch in einem anderen Wort vorkommt (wie brand in Sonnenbrand)?
Ich habe schon an Regex gedacht, doch weiß ich nicht, wie performant Reguläre Ausdrücke sind.
Ich habe mir auch schon überlegt, dass ich den input String per String.Split(new char[] {' '}), splitten lassen könnte und dann jedes ArrayFeld mit dem Suchwort vergleiche.
Was gibt es denn noch so für möglichkeiten oder ist Regex hier die richtige Lösung?
„Ich erfand den Begriff «objekt-orientiert», und ich kann sagen, dass ich dabei nicht C++ im Sinn hatte.“ Alan Kay
moin,
meiner meinung ist Regex an dieser stelle das einzig wahre
und schneller sollte dies auch noch sein
mfg
Hallo davidG,
ist Regex hier die richtige Lösung?
ja.
wie performant Reguläre Ausdrücke sind.
In der Regel schnell genug. Außerdem kriegt man es ausprogrammiert meistens auch nicht performanter hin.
herbivore
Danke, werde es mit Regex machen.
„Ich erfand den Begriff «objekt-orientiert», und ich kann sagen, dass ich dabei nicht C++ im Sinn hatte.“ Alan Kay
hallo davidG,
hier im forum gibt's auch ein klasse progrämmchen zum testen von regex ausdrücken. vielleicht hast du es schon gesehen, wenn nicht, hier der link:
Regex-Lab
-yellow
Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).
Mein Blog: Yellow's Blog auf sqlgut.de