簡易的DFS演算法敏感詞過濾方法

2021-08-26 23:38:50 字數 1933 閱讀 7996

public

class

sensitivewordinit

// 將敏感詞庫加入到hashmap中

addsensitivewordtohashmap(keywordset);

}catch (exception e)

return sensitivewordmap;

}/**

* 封裝敏感詞庫

**@param keywordset

*/@suppresswarnings("rawtypes")

private

void

addsensitivewordtohashmap(setkeywordset)

else

// 如果該字是當前敏感詞的最後乙個字,則標識為結尾字

if (i == key.length() - 1)

system.out.println("封裝敏感詞庫過程:"+sensitivewordmap);

}system.out.println("檢視敏感詞庫資料:" + sensitivewordmap);}}

}

public

class

sensitivewordengine

return sensitivewordengine.sensitivewordmap.size();

}/**

* 是否包含敏感詞

**@param txt

*@param matchtype

*@return

*/public

static

boolean

iscontaintsensitiveword(string txt, int matchtype)

}return flag;

}/**

* 獲取敏感詞內容

**@param txt

*@param matchtype

*@return 敏感詞內容

*/public

static setgetsensitiveword(string txt, int matchtype)

}return sensitivewordlist;

}/**

* 替換敏感詞

**@param txt

*@param matchtype

*@param replacechar

*@return

*/public

static string replacesensitiveword(string txt, int matchtype, string replacechar)

return resulttxt;

}/**

* 替換敏感詞內容

**@param replacechar

*@param length

*@return

*/private

static string getreplacechars(string replacechar, int length)

return resultreplace;

}/**

* 檢查敏感詞數量

**@param txt

*@param beginindex

*@param matchtype

*@return

*/public

static

intchecksensitiveword(string txt, int beginindex, int matchtype)}}

else

}if (!flag)

return matchflag;

}public

static

void

main(string args)

Java Web 敏感詞過濾演算法

1.dfa演算法 dfa演算法的原理可以參考這裡,簡單來說就是通過map構造出一顆敏感詞樹,樹的每一條由根節點到葉子節點的路徑構成乙個敏感詞,例如下圖 簡單實現如下 public class textfilterutil 構建敏感詞庫 param keyword private static voi...

Java Web敏感詞過濾演算法

1.dfa演算法 dfa演算法的原理可以參考 這裡 簡單來說就是通過map構造出一顆敏感詞樹,樹的每一條由根節點到葉子節點的路徑構成乙個敏感詞,例如下圖 簡單實現如下 public class textfilterutil 構建敏感詞庫 param keyword private static vo...

敏感詞過濾演算法實現

說到敏感詞過濾,我也覺得這裡沒有必要寫這個文章,因為前人已經前前後後有過很多種演算法解決該問題。這裡我之所以寫這個文章,是因為我自己自創了一種演算法 真的是自創哦,因為我在寫這個演算法的時候,完全是自己想出來的方式,沒有借鑑任何 靈感來自於一篇文章中的一句話 如果能掃瞄一遍文字就能將所有的詞找出來,...