Заменить несколько слов в строке из списка слов

у меня есть список слов:

string[] BAD_WORDS = { "xxx", "o2o" } // My list is actually a lot bigger about 100 words

и у меня есть некоторый текст (обычно короткий, максимум 250 слов), который мне нужно удалить всеBAD_WORDS в этом.

я пробовал это:

    foreach (var word in BAD_WORDS)
    {
        string w = string.Format(" {0} ", word);
        if (input.Contains(w))
        {
            while (input.Contains(w))
            {
                input = input.Replace(w, " ");
            }
        }
    }

но если текст начинается или заканчивается плохим словом, он не будет удален. я сделал это с пробелами, поэтому он не будет совпадать с частичными словами, например, "oxxx" не должны быть удалены, так как это не точное совпадение с плохими словами.

Кто-нибудь может дать мне совет по этому поводу?

Ответы на вопрос(7)

Ваш ответ на вопрос