我正在尝试使用C#制作脏话过滤器。我正在使用字符串列表,并仔细检查并检查输入内容是否包含列表中的单词。但是当我运行代码时,它不会过滤任何内容。
我试图使它成为一个数组,将其更改为布尔值,但似乎无济于事。
private List<string> badWords = new List<string>();
public string FilterSwear(string text)
{
string filterd = text;
foreach (string badWord in badWords)
{
if (text.Contains(badWord))
{
int chars = badWord.Length;
string stars = "";
for (int i = 0; i < chars; i++)
{
stars += "*";
}
filterd.Replace(badWord, stars);
}
}
return filterd;
}
答案 0 :(得分:2)
尝试:
filterd = filterd.Replace(badWord, stars);
Replace不会就地替换-它会返回带有替换字符串的copy并保持原始状态不变。