在C#中,你可以使用正则表达式来过滤敏感词。以下是一个简单的示例,展示了如何使用正则表达式替换敏感词:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string input = "这是一个包含敏感词的句子,例如:色情、暴力、非法。";
string[] sensitiveWords = { "色情", "暴力", "非法" };
string result = FilterSensitiveWords(input, sensitiveWords);
Console.WriteLine(result);
}
static string FilterSensitiveWords(string input, string[] sensitiveWords)
{
foreach (var word in sensitiveWords)
{
string pattern = $@"\b{word}\b";
input = Regex.Replace(input, pattern, "***");
}
return input;
}
}
在这个示例中,我们定义了一个FilterSensitiveWords
方法,它接受一个输入字符串和一个敏感词数组。然后,我们遍历敏感词数组,为每个敏感词创建一个正则表达式模式,并使用Regex.Replace
方法将输入字符串中的敏感词替换为***
。
注意,这个示例中的正则表达式模式使用了\b
边界匹配符,以确保只匹配完整的单词,而不是部分匹配。例如,它将匹配"色情",但不会匹配"色情片"。