Заменить несколько слов в строке из списка слов
у меня есть список слов:
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" не должны быть удалены, так как это не точное совпадение с плохими словами.
Кто-нибудь может дать мне совет по этому поводу?