在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
邊界匹配符,以確保只匹配完整的單詞,而不是部分匹配。例如,它將匹配"色情",但不會匹配"色情片"。