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?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage