Net dirty word filtering algorithm and its application
In this issue, the editor will bring you about the .NET dirty word filtering algorithm and its application. The article is rich in content and analyzes and describes it from a professional point of view. I hope you can get something after reading this article.
BadWordsFilter.cs class
Using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Collections;using System.Data;namespace WNF {public class BadWordsFilter {private HashSet hash = new HashSet (); / / keyword private byte [] fastCheck = new byte [char.MaxValue]; private byte [] fastLength = new byte [char.MaxValue]; private BitArray charCheck = new BitArray (char.MaxValue); private BitArray endCheck = new BitArray (char.MaxValue); private int maxWordLength = 0 Private int minWordLength = int.MaxValue; public BadWordsFilter () {} / / initialization keyword public void Init (DataTable badwords) {for (int j = 0; j < badwords.Rows.Count; jungle +) {string word = badwords.Rows [j] [0] .ToString (); maxWordLength = Math.Max (maxWordLength, word.Length); minWordLength = Math.Min (minWordLength, word.Length) For (int I = 0; I < 7 & & I < word.Length; iTunes +) {fastCheck [word [I]] | = (byte) (1