Guten Morgen allerseids,
Ich habe folgendes Problem welches mich nun seit Tagen beschäftigt:
Setup:
Black und White Liste von Wörtern werden aus Datenbank geladen.
HTML Text soll beim öffnen Anhand der Listen modifiziert werden so, das
Bestimmte Wörter Markiert werden andere jedoch nicht.. zb:
teilen soll markiert werden jedoch
mitteilen wo auch
teilen vorkommt, soll nicht markiert werden.
Ich habe es mit RegExp probiert und das ganze sah dann so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| foreach (String sp in phrasenListePositiv) { foreach (String sn in phrasenListeNegativ) { Regex suchBegriffRegEx = new Regex(@"(^|\s)(?!" + sn + ")(" + sp + ")+$?", RegexOptions.Compiled | RegexOptions.IgnoreCase);
result = suchBegriffRegEx.Replace(result, "<b><font style='background-color:red; color=yellow;'>" + sp + "</font></b>"); } } |
Es funktioniert soweit auch, jedoch ist bei der Variante das Problem, das
bei 70 Negativ Wörtern und 40 Positiv, ein Durchlauf fast 30 Sekunden benötigt.
Ich denke es gibt sicher effektivere Möglichkeiten, jedoch seh ich den Wald vor lauter
Bäumen nicht. Ich hoffe jemand kann mir auf den richtigen Pfad helfen.
Liebe Grüße und einen schönen Freitag Morgen,
Imoen, das neue C# Forum Mitglied
