Ersetzen Sie mehrere Wörter in einer Zeichenfolge aus einer Liste von Wörtern
Ich habe eine Liste von Wörtern:
string[] BAD_WORDS = { "xxx", "o2o" } // My list is actually a lot bigger about 100 words
und ich habe etwas Text (normalerweise kurz, maximal 250 Wörter), den ich alle ENTFERNEN mussBAD_WORDS
drin.
Ich habe Folgendes versucht:
foreach (var word in BAD_WORDS)
{
string w = string.Format(" {0} ", word);
if (input.Contains(w))
{
while (input.Contains(w))
{
input = input.Replace(w, " ");
}
}
}
Beginnt oder endet der Text jedoch mit einem falschen Wort, wird er nicht entfernt. Ich habe es mit den Leerzeichen gemacht, so dass es nicht zu Teilwörtern passt. Zum Beispiel sollte "oxxx" nicht entfernt werden, da es keine exakte Übereinstimmung mit den BAD WORDS gibt.
kann mir jemand dazu raten?