我有一个单词列表:从单词列表中的字符串替换多个单词
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”不应该被删除,因为它不是一个精确匹配的不良词。
任何人都可以给我这方面的建议吗?
看起来像正则表达式的工作。 – Oded
你为什么包含这行'string w = string.Format(“{0}”,word);'? –
你的任务是什么,你的代码看起来不错?只要删除如果并做一个startswith和结束。 – Peter